There is little chance that Daniel grabbed the milk. It is certain that John put down the milk. We doubt that Mary went to the hallway. We believe that if 'Daniel grabbed the milk' or 'Mary went to the hallway' or both then Julius is a lion. It is probably not the case that if 'Mary went to the hallway' or 'Daniel grabbed the milk' or both then Lily is yellow. We doubt that if either 'Mary went to the hallway' or 'Daniel grabbed the milk' but not both then Bernhard is a swan.
It is impossible that either 'John put down the milk' or 'Mary went to the hallway' but not both.
There is a very good chance that either 'John put down the milk' or 'Mary went to the hallway' but not both.
It is impossible that either 'John put down the milk' or 'Mary 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.1::factA.
  1.0::factB.
  0.2::factC.
  %hop1
  0.75::factX:-or(factA,factC).
  0.25::factY:-or(factC,factA).
  0.2::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'John put down the milk' or 'Mary went to the hallway' but not both.