We believe that Lily is gray. It is almost certain that Mary left the football. We doubt that Bernhard is a lion. We doubt that if either 'Mary left the football' or 'Bernhard is a lion' but not both then Gertrude is a sheep. Chances are about even that if either 'Lily is gray' or 'Mary left the football' but not both then Emily is a wolf. It is highly unlikely that if 'Mary left the football' or 'Lily is gray' or both then John went to the hallway.
We doubt that either 'Mary left the football' or 'John went to the hallway' but not both.
It is highly likely that either 'Mary left the football' or 'John went to the hallway' but not both.
We doubt that either 'Mary left the football' or 'John went to the hallway' 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.75::factA.
  0.95::factB.
  0.2::factC.
  %hop1
  0.2::factX:-xor(factB,factC).
  0.5::factY:-xor(factA,factB).
  0.05::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Mary left the football' or 'John went to the hallway' but not both.