context: It is likely that John went to the office. There is a very good chance that Bernhard is green. It is likely that Winona is a cat. It is unlikely that if either 'Winona is a cat' or 'John went to the office' but not both then Daniel took the football. It is highly likely that if either 'John went to the office' or 'Bernhard is green' but not both then Mary dropped the milk. There is a very good chance that if 'John went to the office and Winona is a cat' then Lily is white.
hypothesis: It is highly unlikely that 'Mary dropped the milk and Lily is white'.
valid_hypothesis: It is highly unlikely that 'Mary dropped the milk and Lily is white'.
invalid_hypothesis: There is a better than even chance that 'Mary dropped the milk and Lily is white'.
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.8::factB.
    0.7::factC.
    %hop1
    0.2::factX:-xor(factC,factA).
    0.9::factY:-xor(factA,factB).
    0.8::factZ:-and(factA,factC).
  
    %hop2
    conclusion:-and(factY,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary dropped the milk and Lily is white'.