context: We believe that Bernhard is yellow. It is highly unlikely that Jeff went to the bedroom. There is a better than even chance that John discarded the apple. There is almost no chance that if 'Jeff went to the bedroom' or 'John discarded the apple' or both then Julius is gray. It is probable that if 'John discarded the apple and Jeff went to the bedroom' then Mary took the football. There is little chance that if 'Jeff went to the bedroom' or 'John discarded the apple' or both then Sandra got the milk.
hypothesis: It is highly likely that either 'Julius is gray' or 'Sandra got the milk' but not both.
valid_hypothesis: It is highly unlikely that either 'Julius is gray' or 'Sandra got the milk' but not both.
invalid_hypothesis: It is highly likely that either 'Julius is gray' or 'Sandra got the milk' 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.75::factA.
    0.05::factB.
    0.6::factC.
    %hop1
    0.02::factX:-or(factB,factC).
    0.7::factY:-and(factC,factB).
    0.1::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-xor(factX,factZ).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Julius is gray' or 'Sandra got the milk' but not both.