It is certain that Daniel dropped the apple. There is a very good chance that Jessica is a cat. It is unlikely that Mary moved to the garden. Chances are about even that if either 'Mary moved to the garden' or 'Jessica is a cat' but not both then Bernhard is green. It is highly unlikely that if either 'Jessica is a cat' or 'Daniel dropped the apple' but not both then Lily is yellow. There is almost no chance that if either 'Mary moved to the garden' or 'Daniel dropped the apple' but not both then Julius is gray.
It is impossible that 'Bernhard is green and Lily is yellow'.
It is impossible that 'Bernhard is green and Lily is yellow'.
It is probable that 'Bernhard is green and Lily is yellow'.

  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
  1.0::factA.
  0.8::factB.
  0.2::factC.
  %hop1
  0.5::factX:-xor(factC,factB).
  0.05::factY:-xor(factB,factA).
  0.02::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Bernhard is green and Lily is yellow'.