context: Chances are slight that Jeff moved to the garden. There is almost no chance that John put down the apple. It is impossible that Greg is white. It is probably the case that if either 'John put down the apple' or 'Jeff moved to the garden' but not both then Fred went to the office. There is a better than even chance that if 'John put down the apple' or 'Jeff moved to the garden' or both then Bernhard is a lion. It is probable that if 'Jeff moved to the garden' or 'Greg is white' or both then Lily is a rhino.
hypothesis: Chances are slight that 'Fred went to the office' or 'Greg is white' or both.
valid_hypothesis: Chances are slight that 'Fred went to the office' or 'Greg is white' or both.
invalid_hypothesis: It is likely that 'Fred went to the office' or 'Greg is white' 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.1::factA.
    0.02::factB.
    0.0::factC.
    %hop1
    0.7::factX:-xor(factB,factA).
    0.6::factY:-or(factB,factA).
    0.7::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-or(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Fred went to the office' or 'Greg is white' or both.