context: There is almost no chance that Sandra grabbed the apple. Chances are about even that Bill went to the bedroom. It is likely that Jessica is a cat. It is impossible that if 'Bill went to the bedroom and Jessica is a cat' then Bernhard is yellow. It is certain that if 'Sandra grabbed the apple' or 'Bill went to the bedroom' or both then Brian is green. It is probably not the case that if either 'Jessica is a cat' or 'Bill went to the bedroom' but not both then Julius is a swan.
hypothesis: Chances are slight that either 'Bernhard is yellow' or 'Julius is a swan' but not both.
valid_hypothesis: Chances are slight that either 'Bernhard is yellow' or 'Julius is a swan' but not both.
invalid_hypothesis: It is probable that either 'Bernhard is yellow' or 'Julius is a swan' but not both.
problog: 
    and(A,B) :- A,B.
    or(A,B) :- A;B.
    nand(A,B) :- not(and(A,B)).
    nor(A,B) :- not(or(A,B)).
    xor(A,B) :- or(A,B), nand(A,B).
  
    %hop0
    0.02::factA.
    0.5::factB.
    0.7::factC.
    %hop1
    0.0::factX:-and(factB,factC).
    1.0::factY:-or(factA,factB).
    0.25::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-xor(factX,factZ).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Bernhard is yellow' or 'Julius is a swan' but not both.