It is highly likely that Jessica is a cat. We doubt that Lily is a lion. It is probably not the case that John left the milk. We believe that if 'John left the milk and Lily is a lion' then Mary went to the office. We believe that if 'Jessica is a cat' or 'Lily is a lion' or both then Julius is yellow. There is almost no chance that if 'Jessica is a cat' or 'Lily is a lion' or both then Brian is white.
We believe that either 'John left the milk' or 'Brian is white' but not both.
It is probably not the case that either 'John left the milk' or 'Brian is white' but not both.
We believe that either 'John left the milk' or 'Brian 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.9::factA.
  0.2::factB.
  0.25::factC.
  %hop1
  0.75::factX:-and(factC,factB).
  0.75::factY:-or(factA,factB).
  0.02::factZ:-or(factA,factB).

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

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