It is almost certain that Bernhard is a rhino. We doubt that Lily is a frog. It is certain that Brian is green. It is unlikely that if 'Brian is green and Bernhard is a rhino' then Mary took the milk. There is a very good chance that if 'Lily is a frog and Bernhard is a rhino' then John moved to the office. Chances are slight that if 'Lily is a frog and Bernhard is a rhino' then Greg is white.
It is unlikely that either 'Mary took the milk' or 'Brian is green' but not both.
There is a very good chance that either 'Mary took the milk' or 'Brian is green' but not both.
It is unlikely that either 'Mary took the milk' or 'Brian is green' 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.2::factB.
  1.0::factC.
  %hop1
  0.2::factX:-and(factC,factA).
  0.8::factY:-and(factB,factA).
  0.1::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'Mary took the milk' or 'Brian is green' but not both.