We believe that Sandra left the apple. It is highly unlikely that Lily is green. It is improbable that Daniel took the milk. It is highly unlikely that if 'Lily is green' or 'Daniel took the milk' or both then John went to the kitchen. It is improbable that if 'Lily is green and Sandra left the apple' then Julius is a lion. We believe that if 'Daniel took the milk and Lily is green' then Bernhard is a swan.
We believe that 'Julius is a lion and Lily is green'.
It is impossible that 'Julius is a lion and Lily is green'.
We believe that 'Julius is a lion and Lily is green'.

  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.75::factA.
  0.05::factB.
  0.1::factC.
  %hop1
  0.05::factX:-or(factB,factC).
  0.1::factY:-and(factB,factA).
  0.75::factZ:-and(factC,factB).

  %hop2
  conclusion:-and(factY,factB).

  query(conclusion).
  
'Julius is a lion and Lily is green'.