context: It is almost certain that Jeff went to the bedroom. It is impossible that Lily is a swan. It is highly likely that Jason is tired. Chances are about even that if 'Jeff went to the bedroom and Jason is tired' then Antoine is bored. It is impossible that if either 'Jeff went to the bedroom' or 'Jason is tired' but not both then Brian is a lion. Chances are about even that if either 'Lily is a swan' or 'Jason is tired' but not both then Daniel grabbed the milk.
hypothesis: Chances are about even that 'Daniel grabbed the milk' or 'Brian is a lion' or both.
valid_hypothesis: Chances are about even that 'Daniel grabbed the milk' or 'Brian is a lion' or both.
invalid_hypothesis: There is almost no chance that 'Daniel grabbed the milk' or 'Brian is a lion' 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.95::factA.
    0.0::factB.
    0.9::factC.
    %hop1
    0.5::factX:-and(factA,factC).
    0.0::factY:-xor(factA,factC).
    0.5::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-or(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Daniel grabbed the milk' or 'Brian is a lion' or both.