context: It is certain that Greg is white. It is improbable that Bernhard is green. There is a very good chance that Sumit is thirsty. It is probably the case that if 'Greg is white and Sumit is thirsty' then Mary went to the bedroom. There is almost no chance that if 'Greg is white and Bernhard is green' then Julius is white. Chances are about even that if either 'Bernhard is green' or 'Sumit is thirsty' but not both then Lily is green.
hypothesis: There is a very good chance that 'Sumit is thirsty' or 'Mary went to the bedroom' or both.
valid_hypothesis: There is a very good chance that 'Sumit is thirsty' or 'Mary went to the bedroom' or both.
invalid_hypothesis: Chances are slight that 'Sumit is thirsty' or 'Mary went to the bedroom' 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
    1.0::factA.
    0.1::factB.
    0.8::factC.
    %hop1
    0.7::factX:-and(factA,factC).
    0.02::factY:-and(factA,factB).
    0.5::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-or(factC,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Sumit is thirsty' or 'Mary went to the bedroom' or both.