It is almost certain that Bernhard is green. There is a very good chance that Greg is white. There is little chance that Jeff moved to the garden. It is impossible that if either 'Bernhard is green' or 'Greg is white' but not both then Julius is yellow. We doubt that if either 'Jeff moved to the garden' or 'Greg is white' but not both then Mary went to the office. It is highly likely that if 'Greg is white' or 'Jeff moved to the garden' or both then Lily is a lion.
We doubt that either 'Bernhard is green' or 'Jeff moved to the garden' but not both.
It is highly likely that either 'Bernhard is green' or 'Jeff moved to the garden' but not both.
We doubt that either 'Bernhard is green' or 'Jeff moved to the garden' 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.95::factA.
  0.8::factB.
  0.1::factC.
  %hop1
  0.0::factX:-xor(factA,factB).
  0.2::factY:-xor(factC,factB).
  0.9::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Bernhard is green' or 'Jeff moved to the garden' but not both.