context: There is little chance that John got the apple. It is impossible that Sumit is thirsty. There is little chance that Daniel put down the milk. It is probable that if either 'John got the apple' or 'Sumit is thirsty' but not both then Bernhard is a frog. Chances are slight that if 'Daniel put down the milk' or 'Sumit is thirsty' or both then Gertrude is a wolf. It is probably not the case that if either 'Sumit is thirsty' or 'John got the apple' but not both then Greg is white.
hypothesis: It is impossible that 'Bernhard is a frog and Daniel put down the milk'.
valid_hypothesis: It is impossible that 'Bernhard is a frog and Daniel put down the milk'.
invalid_hypothesis: It is certain that 'Bernhard is a frog and Daniel put down 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
    0.1::factA.
    0.0::factB.
    0.1::factC.
    %hop1
    0.7::factX:-xor(factA,factB).
    0.1::factY:-or(factC,factB).
    0.25::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-and(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a frog and Daniel put down the milk'.