We believe that Lily is a lion. There is a better than even chance that Julius is gray. There is little chance that Sandra took the apple. It is probably the case that if either 'Sandra took the apple' or 'Julius is gray' but not both then Winona is a wolf. It is highly unlikely that if 'Lily is a lion and Julius is gray' then Emily is a sheep. It is improbable that if either 'Sandra took the apple' or 'Lily is a lion' but not both then Bernhard is gray.
We believe that 'Bernhard is gray' or 'Lily is a lion' or both.
We believe that 'Bernhard is gray' or 'Lily is a lion' or both.
Chances are slight that 'Bernhard is gray' or 'Lily is a lion' or 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.75::factA.
  0.6::factB.
  0.1::factC.
  %hop1
  0.7::factX:-xor(factC,factB).
  0.05::factY:-and(factA,factB).
  0.1::factZ:-xor(factC,factA).

  %hop2
  conclusion:-or(factZ,factA).

  query(conclusion).
  
'Bernhard is gray' or 'Lily is a lion' or both.