context: It is highly unlikely that Lily is yellow. We believe that Bill went to the bedroom. There is little chance that John moved to the garden. It is unlikely that if 'Bill went to the bedroom and John moved to the garden' then Julius is a lion. There is almost no chance that if either 'Bill went to the bedroom' or 'Lily is yellow' but not both then Winona is a wolf. It is highly unlikely that if either 'John moved to the garden' or 'Bill went to the bedroom' but not both then Daniel left the milk.
hypothesis: There is little chance that either 'Daniel left the milk' or 'Lily is yellow' but not both.
valid_hypothesis: There is little chance that either 'Daniel left the milk' or 'Lily is yellow' but not both.
invalid_hypothesis: There is a better than even chance that either 'Daniel left the milk' or 'Lily is yellow' 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.05::factA.
    0.75::factB.
    0.1::factC.
    %hop1
    0.2::factX:-and(factB,factC).
    0.02::factY:-xor(factB,factA).
    0.05::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-xor(factZ,factA).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Daniel left the milk' or 'Lily is yellow' but not both.