context: It is probable that Sandra left the milk. It is highly unlikely that John moved to the garden. We doubt that Greg is a swan. It is impossible that if either 'John moved to the garden' or 'Sandra left the milk' but not both then Antoine is hungry. It is highly unlikely that if 'Sandra left the milk' or 'Greg is a swan' or both then Brian is green. There is little chance that if 'Greg is a swan' or 'Sandra left the milk' or both then Mary got the football.
hypothesis: It is impossible that 'John moved to the garden and Brian is green'.
valid_hypothesis: It is impossible that 'John moved to the garden and Brian is green'.
invalid_hypothesis: There is a very good chance that 'John moved to the garden and Brian is green'.
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.05::factB.
    0.2::factC.
    %hop1
    0.0::factX:-xor(factB,factA).
    0.05::factY:-or(factA,factC).
    0.1::factZ:-or(factC,factA).
  
    %hop2
    conclusion:-and(factB,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'John moved to the garden and Brian is green'.