context: There is a very good chance that John got the football. We doubt that Lily is white. It is certain that Daniel grabbed the milk. It is improbable that if 'Lily is white and Daniel grabbed the milk' then Mary dropped the apple. It is highly unlikely that if 'Lily is white' or 'John got the football' or both then Emily is a sheep. It is unlikely that if 'John got the football and Lily is white' then Greg is gray.
hypothesis: We doubt that either 'Daniel grabbed the milk' or 'Emily is a sheep' but not both.
valid_hypothesis: It is almost certain that either 'Daniel grabbed the milk' or 'Emily is a sheep' but not both.
invalid_hypothesis: We doubt that either 'Daniel grabbed the milk' or 'Emily is a sheep' 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.8::factA.
    0.2::factB.
    1.0::factC.
    %hop1
    0.1::factX:-and(factB,factC).
    0.05::factY:-or(factB,factA).
    0.2::factZ:-and(factA,factB).
  
    %hop2
    conclusion:-xor(factC,factY).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Daniel grabbed the milk' or 'Emily is a sheep' but not both.