context: It is certain that Lily is a frog. We believe that Brian is gray. There is a better than even chance that John took the apple. It is almost certain that if either 'Brian is gray' or 'John took the apple' but not both then Julius is white. It is highly unlikely that if either 'Lily is a frog' or 'Brian is gray' but not both then Greg is a rhino. It is impossible that if either 'John took the apple' or 'Brian is gray' but not both then Sandra got the milk.
hypothesis: It is impossible that 'Brian is gray and Sandra got the milk'.
valid_hypothesis: It is impossible that 'Brian is gray and Sandra got the milk'.
invalid_hypothesis: It is highly likely that 'Brian is gray and Sandra got the milk'.
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
    1.0::factA.
    0.75::factB.
    0.6::factC.
    %hop1
    0.95::factX:-xor(factB,factC).
    0.05::factY:-xor(factA,factB).
    0.0::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-and(factB,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is gray and Sandra got the milk'.