context: We doubt that Sandra left the milk. It is highly unlikely that Daniel got the milk. There is little chance that Greg is green. It is highly unlikely that if 'Sandra left the milk and Daniel got the milk' then Mary went to the office. It is probable that if either 'Sandra left the milk' or 'Greg is green' but not both then Brian is a swan. It is probably the case that if either 'Greg is green' or 'Sandra left the milk' but not both then John moved to the garden.
hypothesis: Chances are about even that 'Greg is green and Mary went to the office'.
valid_hypothesis: It is impossible that 'Greg is green and Mary went to the office'.
invalid_hypothesis: Chances are about even that 'Greg is green and Mary went 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.2::factA.
    0.05::factB.
    0.1::factC.
    %hop1
    0.05::factX:-and(factA,factB).
    0.7::factY:-xor(factA,factC).
    0.7::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-and(factC,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is green and Mary went to the office'.