context: It is highly likely that Lily is white. It is almost certain that Julius is gray. Chances are about even that Mary went to the office. It is unlikely that if either 'Mary went to the office' or 'Lily is white' but not both then Gertrude is a wolf. It is certain that if either 'Julius is gray' or 'Lily is white' but not both then John got the football. It is improbable that if 'Mary went to the office and Julius is gray' then Emily is a sheep.
hypothesis: There is a better than even chance that 'Mary went to the office' or 'John got the football' or both.
valid_hypothesis: There is a better than even chance that 'Mary went to the office' or 'John got the football' or both.
invalid_hypothesis: It is impossible that 'Mary went to the office' or 'John got the football' 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.95::factB.
    0.5::factC.
    %hop1
    0.2::factX:-xor(factC,factA).
    1.0::factY:-xor(factB,factA).
    0.1::factZ:-and(factC,factB).
  
    %hop2
    conclusion:-or(factC,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary went to the office' or 'John got the football' or both.