It is almost certain that John discarded the apple. It is improbable that Fred moved to the office. It is highly unlikely that Brian is white. It is unlikely that if either 'John discarded the apple' or 'Brian is white' but not both then Bernhard is gray. Chances are about even that if either 'Fred moved to the office' or 'Brian is white' but not both then Mary took the football. It is impossible that if 'Brian is white' or 'John discarded the apple' or both then Jessica is a cat.
It is highly unlikely that either 'Brian is white' or 'Jessica is a cat' but not both.
It is highly unlikely that either 'Brian is white' or 'Jessica is a cat' but not both.
Chances are about even that either 'Brian is white' or 'Jessica is a cat' 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.1::factB.
  0.05::factC.
  %hop1
  0.2::factX:-xor(factA,factC).
  0.5::factY:-xor(factB,factC).
  0.0::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Brian is white' or 'Jessica is a cat' but not both.