context: It is highly unlikely that Sandra left the milk. It is highly likely that John got the apple. It is unlikely that Greg is white. It is unlikely that if 'Sandra left the milk and Greg is white' then Mary took the milk. We doubt that if 'Greg is white' or 'John got the apple' or both then Julius is a swan. Chances are about even that if either 'Greg is white' or 'Sandra left the milk' but not both then Brian is a lion.
hypothesis: It is likely that 'Mary took the milk' or 'Greg is white' or both.
valid_hypothesis: It is unlikely that 'Mary took the milk' or 'Greg is white' or both.
invalid_hypothesis: It is likely that 'Mary took the milk' or 'Greg is white' 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.05::factA.
    0.9::factB.
    0.2::factC.
    %hop1
    0.2::factX:-and(factA,factC).
    0.2::factY:-or(factC,factB).
    0.5::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-or(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary took the milk' or 'Greg is white' or both.