context: It is highly likely that John went to the office. We doubt that Antoine is thirsty. It is highly likely that Mary moved to the garden. There is little chance that if 'John went to the office' or 'Mary moved to the garden' or both then Lily is white. There is a very good chance that if 'Antoine is thirsty' or 'Mary moved to the garden' or both then Julius is a rhino. It is unlikely that if 'Mary moved to the garden' or 'Antoine is thirsty' or both then Bernhard is a swan.
hypothesis: It is almost certain that 'Antoine is thirsty' or 'Bernhard is a swan' or both.
valid_hypothesis: It is probably not the case that 'Antoine is thirsty' or 'Bernhard is a swan' or both.
invalid_hypothesis: It is almost certain that 'Antoine is thirsty' or 'Bernhard 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.9::factA.
    0.2::factB.
    0.9::factC.
    %hop1
    0.1::factX:-or(factA,factC).
    0.8::factY:-or(factB,factC).
    0.2::factZ:-or(factC,factB).
  
    %hop2
    conclusion:-or(factB,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Antoine is thirsty' or 'Bernhard is a swan' or both.