It is almost certain that Mary went to the hallway. We believe that Daniel dropped the milk. It is certain that Bernhard is a rhino. It is certain that if 'Bernhard is a rhino' or 'Mary went to the hallway' or both then Julius is white. It is improbable that if 'Mary went to the hallway' or 'Daniel dropped the milk' or both then Greg is a frog. Chances are slight that if 'Daniel dropped the milk' or 'Mary went to the hallway' or both then John took the football.
It is unlikely that either 'Mary went to the hallway' or 'John took the football' but not both.
It is highly likely that either 'Mary went to the hallway' or 'John took the football' but not both.
It is unlikely that either 'Mary went to the hallway' or 'John took the football' 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.95::factA.
  0.75::factB.
  1.0::factC.
  %hop1
  1.0::factX:-or(factC,factA).
  0.1::factY:-or(factA,factB).
  0.1::factZ:-or(factB,factA).

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

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