context: It is certain that Mary left the milk. It is highly likely that John went to the office. It is probably the case that Antoine is hungry. Chances are slight that if either 'John went to the office' or 'Antoine is hungry' but not both then Brian is a swan. There is almost no chance that if either 'Antoine is hungry' or 'John went to the office' but not both then Jeff dropped the apple. It is impossible that if either 'John went to the office' or 'Mary left the milk' but not both then Lily is a rhino.
hypothesis: It is highly likely that 'Jeff dropped the apple and Antoine is hungry'.
valid_hypothesis: It is impossible that 'Jeff dropped the apple and Antoine is hungry'.
invalid_hypothesis: It is highly likely that 'Jeff dropped the apple and Antoine is hungry'.
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
    1.0::factA.
    0.9::factB.
    0.7::factC.
    %hop1
    0.1::factX:-xor(factB,factC).
    0.02::factY:-xor(factC,factB).
    0.0::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-and(factY,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Jeff dropped the apple and Antoine is hungry'.