It is highly likely that Mary moved to the office. There is a better than even chance that Daniel got the football. Chances are about even that Lily is a rhino. There is a better than even chance that if either 'Mary moved to the office' or 'Daniel got the football' but not both then Greg is a rhino. It is impossible that if 'Mary moved to the office' or 'Lily is a rhino' or both then Julius is white. There is a very good chance that if either 'Daniel got the football' or 'Lily is a rhino' but not both then Antoine is hungry.
Chances are slight that either 'Daniel got the football' or 'Julius is white' but not both.
There is a better than even chance that either 'Daniel got the football' or 'Julius is white' but not both.
Chances are slight that either 'Daniel got the football' or 'Julius 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.9::factA.
  0.6::factB.
  0.5::factC.
  %hop1
  0.6::factX:-xor(factA,factB).
  0.0::factY:-or(factA,factC).
  0.8::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Daniel got the football' or 'Julius is white' but not both.