Chances are slight that Fred left the apple. It is probable that Bernhard is a rhino. Chances are about even that Brian is white. There is little chance that if either 'Brian is white' or 'Bernhard is a rhino' but not both then Lily is white. It is probably the case that if 'Brian is white and Fred left the apple' then Mary went to the hallway. It is improbable that if either 'Fred left the apple' or 'Bernhard is a rhino' but not both then John discarded the milk.
It is probable that either 'Lily is white' or 'Bernhard is a rhino' but not both.
It is probable that either 'Lily is white' or 'Bernhard is a rhino' but not both.
It is highly unlikely that either 'Lily is white' or 'Bernhard is a rhino' 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.7::factB.
  0.5::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.7::factY:-and(factC,factA).
  0.1::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Lily is white' or 'Bernhard is a rhino' but not both.