context: It is highly likely that John dropped the apple. It is unlikely that Mary went to the kitchen. It is probably the case that Bill moved to the office. It is probably the case that if either 'Bill moved to the office' or 'John dropped the apple' but not both then Julius is a rhino. It is probable that if 'Bill moved to the office' or 'John dropped the apple' or both then Lily is a swan. It is improbable that if 'Bill moved to the office and John dropped the apple' then Brian is green.
hypothesis: It is highly unlikely that 'Brian is green and Bill moved to the office'.
valid_hypothesis: It is highly unlikely that 'Brian is green and Bill moved to the office'.
invalid_hypothesis: It is likely that 'Brian is green and Bill 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.9::factA.
    0.2::factB.
    0.7::factC.
    %hop1
    0.7::factX:-xor(factC,factA).
    0.7::factY:-or(factC,factA).
    0.1::factZ:-and(factC,factA).
  
    %hop2
    conclusion:-and(factZ,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is green and Bill moved to the office'.