context: It is likely that Lily is white. There is little chance that Julius is a rhino. It is probably the case that Mary moved to the office. It is improbable that if either 'Mary moved to the office' or 'Lily is white' but not both then Bernhard is gray. Chances are slight that if 'Mary moved to the office and Julius is a rhino' then Gertrude is a sheep. It is probable that if either 'Mary moved to the office' or 'Lily is white' but not both then John left the milk.
hypothesis: We believe that 'Mary moved to the office' or 'Julius is a rhino' or both.
valid_hypothesis: We believe that 'Mary moved to the office' or 'Julius is a rhino' or both.
invalid_hypothesis: It is unlikely that 'Mary moved to the office' or 'Julius is a rhino' 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.7::factA.
    0.1::factB.
    0.7::factC.
    %hop1
    0.1::factX:-xor(factC,factA).
    0.1::factY:-and(factC,factB).
    0.7::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-or(factC,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary moved to the office' or 'Julius is a rhino' or both.