There is little chance that Daniel got the apple. There is little chance that Mary went to the kitchen. There is almost no chance that Brian is a lion. It is probably not the case that if 'Brian is a lion and Daniel got the apple' then Lily is green. Chances are about even that if 'Daniel got the apple and Brian is a lion' then Jessica is a mouse. It is probably the case that if 'Daniel got the apple' or 'Mary went to the kitchen' or both then Bernhard is yellow.
Chances are slight that either 'Bernhard is yellow' or 'Lily is green' but not both.
Chances are slight that either 'Bernhard is yellow' or 'Lily is green' but not both.
It is probably the case that either 'Bernhard is yellow' or 'Lily is green' but not both.

  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.1::factA.
  0.1::factB.
  0.02::factC.
  %hop1
  0.25::factX:-and(factC,factA).
  0.5::factY:-and(factA,factC).
  0.7::factZ:-or(factA,factB).

  %hop2
  conclusion:-xor(factZ,factX).

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Lily is green' but not both.