There is a very good chance that Jessica is a cat. We doubt that Lily is a lion. It is likely that Brian is green. Chances are slight that if 'Jessica is a cat' or 'Lily is a lion' or both then Mary moved to the garden. It is likely that if 'Lily is a lion and Jessica is a cat' then John left the milk. Chances are about even that if either 'Brian is green' or 'Jessica is a cat' but not both then Fred dropped the apple.
We believe that either 'Fred dropped the apple' or 'Brian is green' but not both.
We believe that either 'Fred dropped the apple' or 'Brian is green' but not both.
It is improbable that either 'Fred dropped the apple' 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.8::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.1::factX:-or(factA,factB).
  0.7::factY:-and(factB,factA).
  0.5::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Fred dropped the apple' or 'Brian is green' but not both.