context: It is impossible that Brian is a frog. There is a very good chance that Mary picked up the milk. There is almost no chance that Jeff left the apple. Chances are slight that if 'Mary picked up the milk' or 'Jeff left the apple' or both then Jessica is a cat. It is almost certain that if either 'Mary picked up the milk' or 'Jeff left the apple' but not both then Lily is green. It is almost certain that if either 'Brian is a frog' or 'Mary picked up the milk' but not both then Bernhard is a rhino.
hypothesis: It is impossible that 'Brian is a frog and Jeff left the apple'.
valid_hypothesis: It is impossible that 'Brian is a frog and Jeff left the apple'.
invalid_hypothesis: It is probable that 'Brian is a frog 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.0::factA.
    0.8::factB.
    0.02::factC.
    %hop1
    0.1::factX:-or(factB,factC).
    0.95::factY:-xor(factB,factC).
    0.95::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-and(factA,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a frog and Jeff left the apple'.