context: There is almost no chance that Lily is green. It is unlikely that Brian is white. It is impossible that John moved to the office. There is almost no chance that if 'John moved to the office' or 'Brian is white' or both then Bernhard is a swan. There is a better than even chance that if either 'Brian is white' or 'Lily is green' but not both then Greg is gray. There is little chance that if either 'Brian is white' or 'Lily is green' but not both then Daniel dropped the milk.
hypothesis: It is certain that 'Lily is green and John moved to the office'.
valid_hypothesis: It is impossible that 'Lily is green and John moved to the office'.
invalid_hypothesis: It is certain that 'Lily is green and John moved to the office'.
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.02::factA.
    0.2::factB.
    0.0::factC.
    %hop1
    0.02::factX:-or(factC,factB).
    0.6::factY:-xor(factB,factA).
    0.1::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-and(factA,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is green and John moved to the office'.