context: There is a very good chance that Sandra dropped the milk. It is unlikely that Jeff went to the garden. It is probably the case that Mary moved to the office. It is highly unlikely that if 'Jeff went to the garden' or 'Sandra dropped the milk' or both then Jessica is a cat. It is almost certain that if either 'Sandra dropped the milk' or 'Mary moved to the office' but not both then Greg is white. It is almost certain that if either 'Jeff went to the garden' or 'Mary moved to the office' but not both then Brian is a swan.
hypothesis: There is little chance that 'Jeff went to the garden and Mary moved to the office'.
valid_hypothesis: There is little chance that 'Jeff went to the garden and Mary moved to the office'.
invalid_hypothesis: It is almost certain that 'Jeff went to the garden and Mary 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.8::factA.
    0.2::factB.
    0.7::factC.
    %hop1
    0.05::factX:-or(factB,factA).
    0.95::factY:-xor(factA,factC).
    0.95::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-and(factB,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Jeff went to the garden and Mary moved to the office'.