It is highly unlikely that Bernhard is green. There is little chance that Julius is yellow. There is little chance that Sandra took the milk. It is unlikely that if 'Sandra took the milk and Julius is yellow' then Jessica is a cat. It is probably not the case that if 'Bernhard is green' or 'Sandra took the milk' or both then Brian is a frog. We believe that if 'Bernhard is green and Julius is yellow' then Mary got the football.
There is a very good chance that either 'Mary got the football' or 'Bernhard is green' but not both.
It is highly unlikely that either 'Mary got the football' or 'Bernhard is green' but not both.
There is a very good chance that either 'Mary got the football' or 'Bernhard 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.05::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.2::factX:-and(factC,factB).
  0.25::factY:-or(factA,factC).
  0.75::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Mary got the football' or 'Bernhard is green' but not both.