context: We believe that Antoine is thirsty. It is highly unlikely that John grabbed the apple. It is unlikely that Bernhard is a frog. There is almost no chance that if 'Antoine is thirsty and Bernhard is a frog' then Jeff went to the garden. It is impossible that if 'John grabbed the apple' or 'Antoine is thirsty' or both then Sandra took the football. There is almost no chance that if 'Antoine is thirsty and Bernhard is a frog' then Lily is a lion.
hypothesis: It is certain that 'Jeff went to the garden and Sandra took the football'.
valid_hypothesis: It is impossible that 'Jeff went to the garden and Sandra took the football'.
invalid_hypothesis: It is certain that 'Jeff went to the garden and Sandra took the football'.
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.75::factA.
    0.05::factB.
    0.2::factC.
    %hop1
    0.02::factX:-and(factA,factC).
    0.0::factY:-or(factB,factA).
    0.02::factZ:-and(factA,factC).
  
    %hop2
    conclusion:-and(factX,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Jeff went to the garden and Sandra took the football'.