context: It is highly likely that Gertrude is a cat. Chances are about even that Julius is green. There is little chance that Daniel left the milk. There is a very good chance that if either 'Daniel left the milk' or 'Gertrude is a cat' but not both then Emily is a wolf. It is impossible that if 'Gertrude is a cat' or 'Daniel left the milk' or both then Jeff went to the garden. It is improbable that if either 'Julius is green' or 'Daniel left the milk' but not both then John put down the apple.
hypothesis: It is probably the case that 'Jeff went to the garden and John put down the apple'.
valid_hypothesis: It is impossible that 'Jeff went to the garden and John put down the apple'.
invalid_hypothesis: It is probably the case that 'Jeff went to the garden and John put down the apple'.
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.9::factA.
    0.5::factB.
    0.1::factC.
    %hop1
    0.8::factX:-xor(factC,factA).
    0.0::factY:-or(factA,factC).
    0.1::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-and(factY,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Jeff went to the garden and John put down the apple'.