Chances are slight that Mary went to the kitchen. It is almost certain that Bernhard is green. Chances are slight that Brian is yellow. It is likely that if 'Mary went to the kitchen' or 'Bernhard is green' or both then Gertrude is a sheep. There is a very good chance that if 'Brian is yellow' or 'Bernhard is green' or both then Lily is a swan. We believe that if 'Brian is yellow and Mary went to the kitchen' then Julius is white.
There is little chance that either 'Mary went to the kitchen' or 'Julius is white' but not both.
There is little chance that either 'Mary went to the kitchen' or 'Julius is white' but not both.
It is probably the case that either 'Mary went to the kitchen' or 'Julius is white' 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.
  0.95::factB.
  0.1::factC.
  %hop1
  0.7::factX:-or(factA,factB).
  0.8::factY:-or(factC,factB).
  0.75::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Mary went to the kitchen' or 'Julius is white' but not both.