context: It is probably the case that Daniel dropped the apple. It is unlikely that Winona is a sheep. There is a better than even chance that Sandra took the milk. We believe that if 'Daniel dropped the apple and Sandra took the milk' then Greg is gray. It is improbable that if either 'Sandra took the milk' or 'Daniel dropped the apple' but not both then Lily is a lion. It is probably the case that if 'Daniel dropped the apple' or 'Sandra took the milk' or both then John moved to the garden.
hypothesis: There is almost no chance that 'Lily is a lion and Sandra took the milk'.
valid_hypothesis: There is almost no chance that 'Lily is a lion and Sandra took the milk'.
invalid_hypothesis: It is probably the case that 'Lily is a lion and Sandra took 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.7::factA.
    0.2::factB.
    0.6::factC.
    %hop1
    0.75::factX:-and(factA,factC).
    0.1::factY:-xor(factC,factA).
    0.7::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-and(factY,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is a lion and Sandra took the milk'.