It is highly likely that John went to the hallway. It is probably not the case that Mary dropped the milk. There is a very good chance that Brian is gray. There is a very good chance that if 'Brian is gray' or 'John went to the hallway' or both then Lily is green. We doubt that if 'John went to the hallway' or 'Mary dropped the milk' or both then Greg is a swan. It is probably the case that if 'Brian is gray' or 'Mary dropped the milk' or both then Daniel got the football.
Chances are about even that either 'Mary dropped the milk' or 'Daniel got the football' but not both.
Chances are about even that either 'Mary dropped the milk' or 'Daniel got the football' but not both.
It is highly unlikely that either 'Mary dropped the milk' or 'Daniel got 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.9::factA.
  0.25::factB.
  0.8::factC.
  %hop1
  0.8::factX:-or(factC,factA).
  0.2::factY:-or(factA,factB).
  0.7::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Mary dropped the milk' or 'Daniel got the football' but not both.