context: There is almost no chance that Mary went to the office. It is impossible that John took the milk. We believe that Julius is a lion. We doubt that if 'Julius is a lion and John took the milk' then Sumit is thirsty. It is highly likely that if 'Mary went to the office' or 'John took the milk' or both then Lily is a frog. We believe that if either 'John took the milk' or 'Julius is a lion' but not both then Bernhard is a rhino.
hypothesis: There is almost no chance that 'Mary went to the office' or 'Lily is a frog' or both.
valid_hypothesis: There is almost no chance that 'Mary went to the office' or 'Lily is a frog' or both.
invalid_hypothesis: It is highly likely that 'Mary went to the office' or 'Lily is a frog' 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.02::factA.
    0.0::factB.
    0.75::factC.
    %hop1
    0.2::factX:-and(factC,factB).
    0.9::factY:-or(factA,factB).
    0.75::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-or(factA,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary went to the office' or 'Lily is a frog' or both.