Chances are slight that Julius is a lion. It is likely that Jessica is a cat. It is probably the case that John dropped the apple. It is unlikely that if 'Julius is a lion and John dropped the apple' then Lily is a rhino. There is little chance that if 'Jessica is a cat' or 'Julius is a lion' or both then Fred is in the office. We doubt that if either 'Julius is a lion' or 'John dropped the apple' but not both then Brian is white.
There is a better than even chance that either 'Brian is white' or 'John dropped the apple' but not both.
There is a better than even chance that either 'Brian is white' or 'John dropped the apple' but not both.
It is impossible that either 'Brian is white' or 'John dropped the apple' 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.7::factC.
  %hop1
  0.2::factX:-and(factA,factC).
  0.1::factY:-or(factB,factA).
  0.2::factZ:-xor(factA,factC).

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

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