context: It is improbable that Mary put down the apple. Chances are about even that Lily is green. It is likely that Brian is a swan. It is highly unlikely that if either 'Lily is green' or 'Mary put down the apple' but not both then Julius is gray. It is highly unlikely that if 'Lily is green' or 'Mary put down the apple' or both then Bernhard is a frog. We believe that if 'Brian is a swan and Mary put down the apple' then Jeff left the apple.
hypothesis: It is certain that 'Mary put down the apple and Jeff left the apple'.
valid_hypothesis: It is highly unlikely that 'Mary put down the apple and Jeff left the apple'.
invalid_hypothesis: It is certain that 'Mary put down the apple and Jeff left 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.1::factA.
    0.5::factB.
    0.7::factC.
    %hop1
    0.05::factX:-xor(factB,factA).
    0.05::factY:-or(factB,factA).
    0.75::factZ:-and(factC,factA).
  
    %hop2
    conclusion:-and(factA,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary put down the apple and Jeff left the apple'.