context: There is a very good chance that Daniel dropped the milk. There is a very good chance that Julius is gray. We believe that Emily is a mouse. It is likely that if 'Emily is a mouse' or 'Daniel dropped the milk' or both then Mary went to the office. We doubt that if either 'Julius is gray' or 'Daniel dropped the milk' but not both then Sandra is in the kitchen. Chances are slight that if 'Emily is a mouse and Daniel dropped the milk' then Lily is a swan.
hypothesis: It is likely that 'Sandra is in the kitchen' or 'Lily is a swan' or both.
valid_hypothesis: It is improbable that 'Sandra is in the kitchen' or 'Lily is a swan' or both.
invalid_hypothesis: It is likely that 'Sandra is in the kitchen' or 'Lily is a swan' or both.
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.8::factA.
    0.8::factB.
    0.75::factC.
    %hop1
    0.7::factX:-or(factC,factA).
    0.2::factY:-xor(factB,factA).
    0.1::factZ:-and(factC,factA).
  
    %hop2
    conclusion:-or(factY,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Sandra is in the kitchen' or 'Lily is a swan' or both.