context: It is almost certain that John moved to the office. It is certain that Bernhard is a swan. It is likely that Mary discarded the milk. It is probably the case that if 'John moved to the office' or 'Mary discarded the milk' or both then Lily is green. It is highly unlikely that if 'John moved to the office and Bernhard is a swan' then Julius is a rhino. It is probably the case that if either 'Mary discarded the milk' or 'John moved to the office' but not both then Jason is bored.
hypothesis: There is little chance that 'Jason is bored' or 'Bernhard is a swan' or both.
valid_hypothesis: It is certain that 'Jason is bored' or 'Bernhard is a swan' or both.
invalid_hypothesis: There is little chance that 'Jason is bored' 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.95::factA.
    1.0::factB.
    0.7::factC.
    %hop1
    0.7::factX:-or(factA,factC).
    0.05::factY:-and(factA,factB).
    0.7::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-or(factZ,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Jason is bored' or 'Bernhard is a swan' or both.