context: It is likely that Brian is gray. It is unlikely that Sandra left the milk. It is highly likely that Mary got the milk. It is probably not the case that if either 'Brian is gray' or 'Sandra left the milk' but not both then John went to the kitchen. Chances are slight that if 'Brian is gray' or 'Sandra left the milk' or both then Lily is green. It is likely that if 'Mary got the milk' or 'Sandra left the milk' or both then Daniel took the football.
hypothesis: It is probably not the case that either 'Mary got the milk' or 'Daniel took the football' but not both.
valid_hypothesis: It is probably not the case that either 'Mary got the milk' or 'Daniel took the football' but not both.
invalid_hypothesis: There is a very good chance that either 'Mary got the milk' or 'Daniel took the football' 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.7::factA.
    0.2::factB.
    0.9::factC.
    %hop1
    0.25::factX:-xor(factA,factB).
    0.1::factY:-or(factA,factB).
    0.7::factZ:-or(factC,factB).
  
    %hop2
    conclusion:-xor(factC,factZ).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Mary got the milk' or 'Daniel took the football' but not both.