It is likely that Mary went to the bedroom. It is probably not the case that Bernhard is green. It is probably the case that Daniel got the milk. It is almost certain that if either 'Bernhard is green' or 'Mary went to the bedroom' but not both then Emily is a mouse. There is almost no chance that if 'Mary went to the bedroom' or 'Daniel got the milk' or both then Julius is white. It is highly unlikely that if 'Daniel got the milk and Bernhard is green' then John moved to the garden.
There is almost no chance that either 'Julius is white' or 'John moved to the garden' but not both.
There is almost no chance that either 'Julius is white' or 'John moved to the garden' but not both.
We believe that either 'Julius is white' or 'John 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.7::factA.
  0.25::factB.
  0.7::factC.
  %hop1
  0.95::factX:-xor(factB,factA).
  0.02::factY:-or(factA,factC).
  0.05::factZ:-and(factC,factB).

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

  query(conclusion).
  
Either 'Julius is white' or 'John moved to the garden' but not both.