context: It is impossible that Lily is a lion. It is highly likely that Sandra got the milk. It is almost certain that Mary went to the office. There is little chance that if either 'Mary went to the office' or 'Lily is a lion' but not both then Brian is a rhino. It is likely that if 'Sandra got the milk and Mary went to the office' then Julius is a swan. Chances are about even that if 'Sandra got the milk' or 'Mary went to the office' or both then John is in the garden.
hypothesis: It is impossible that 'Julius is a swan and Lily is a lion'.
valid_hypothesis: It is impossible that 'Julius is a swan and Lily is a lion'.
invalid_hypothesis: It is certain that 'Julius is a swan and Lily is a lion'.
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.0::factA.
    0.9::factB.
    0.95::factC.
    %hop1
    0.1::factX:-xor(factC,factA).
    0.7::factY:-and(factB,factC).
    0.5::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-and(factY,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Julius is a swan and Lily is a lion'.