There is little chance that Brian is a frog. It is probably the case that Daniel got the milk. There is a better than even chance that Julius is a lion. It is probably not the case that if either 'Julius is a lion' or 'Brian is a frog' but not both then Emily is a mouse. There is little chance that if either 'Daniel got the milk' or 'Brian is a frog' but not both then Lily is green. There is a better than even chance that if 'Julius is a lion' or 'Daniel got the milk' or both then Mary moved to the office.
Chances are about even that either 'Mary moved to the office' or 'Lily is green' but not both.
Chances are about even that either 'Mary moved to the office' or 'Lily is green' but not both.
It is highly unlikely that either 'Mary moved to the office' or 'Lily is green' 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.7::factB.
  0.6::factC.
  %hop1
  0.25::factX:-xor(factC,factA).
  0.1::factY:-xor(factB,factA).
  0.6::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Mary moved to the office' or 'Lily is green' but not both.