It is probably the case that Bernhard is a frog. It is highly unlikely that John moved to the office. There is a very good chance that Bill left the football. It is highly likely that if 'Bill left the football' or 'Bernhard is a frog' or both then Fred went to the garden. It is probably not the case that if either 'John moved to the office' or 'Bill left the football' but not both then Lily is a lion. It is probably the case that if either 'Bernhard is a frog' or 'Bill left the football' but not both then Mary dropped the apple.
Chances are slight that either 'Mary dropped the apple' or 'Fred went to the garden' but not both.
There is a better than even chance that either 'Mary dropped the apple' or 'Fred went to the garden' but not both.
Chances are slight that either 'Mary dropped the apple' or 'Fred went 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.05::factB.
  0.8::factC.
  %hop1
  0.9::factX:-or(factC,factA).
  0.25::factY:-xor(factB,factC).
  0.7::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Mary dropped the apple' or 'Fred went to the garden' but not both.