There is little chance that Bernhard is yellow. There is almost no chance that Mary moved to the garden. It is improbable that Sandra grabbed the apple. We doubt that if 'Mary moved to the garden' or 'Bernhard is yellow' or both then Lily is gray. It is probably the case that if either 'Bernhard is yellow' or 'Mary moved to the garden' but not both then Greg is white. It is impossible that if 'Mary moved to the garden' or 'Bernhard is yellow' or both then Julius is a lion.
We believe that either 'Bernhard is yellow' or 'Greg is white' but not both.
It is highly unlikely that either 'Bernhard is yellow' or 'Greg is white' but not both.
We believe that either 'Bernhard is yellow' or 'Greg is white' 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.02::factB.
  0.1::factC.
  %hop1
  0.2::factX:-or(factB,factA).
  0.7::factY:-xor(factA,factB).
  0.0::factZ:-or(factB,factA).

  %hop2
  conclusion:-xor(factA,factY).

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Greg is white' but not both.