context: We believe that John went to the office. It is probable that Lily is white. It is probable that Mary got the apple. It is certain that if 'Mary got the apple' or 'Lily is white' or both then Sandra left the football. It is almost certain that if 'Lily is white and Mary got the apple' then Bernhard is a frog. It is probably not the case that if 'Lily is white and John went to the office' then Julius is gray.
hypothesis: There is almost no chance that either 'John went to the office' or 'Mary got the apple' but not both.
valid_hypothesis: Chances are about even that either 'John went to the office' or 'Mary got the apple' but not both.
invalid_hypothesis: There is almost no chance that either 'John went to the office' or 'Mary got the apple' but not 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.75::factA.
    0.7::factB.
    0.7::factC.
    %hop1
    1.0::factX:-or(factC,factB).
    0.95::factY:-and(factB,factC).
    0.25::factZ:-and(factB,factA).
  
    %hop2
    conclusion:-xor(factA,factC).
  
    query(conclusion).
    
hypothesis_assertion: Either 'John went to the office' or 'Mary got the apple' but not both.