It is impossible that Greg is yellow. We doubt that John took the football. Chances are about even that Mary moved to the garden. It is improbable that if either 'Greg is yellow' or 'John took the football' but not both then Brian is yellow. We doubt that if 'John took the football' or 'Mary moved to the garden' or both then Bernhard is white. There is a very good chance that if either 'Greg is yellow' or 'Mary moved to the garden' but not both then Julius is a swan.
Chances are slight that either 'Bernhard is white' or 'Brian is yellow' but not both.
Chances are slight that either 'Bernhard is white' or 'Brian is yellow' but not both.
There is a very good chance that either 'Bernhard is white' or 'Brian is yellow' 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.0::factA.
  0.2::factB.
  0.5::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.2::factY:-or(factB,factC).
  0.8::factZ:-xor(factA,factC).

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

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