It is improbable that Bernhard is yellow. We doubt that Brian is green. Chances are about even that Julius is a lion. It is likely that if 'Brian is green' or 'Julius is a lion' or both then Sandra took the apple. It is almost certain that if either 'Bernhard is yellow' or 'Julius is a lion' but not both then Greg is a rhino. It is probably not the case that if either 'Julius is a lion' or 'Brian is green' but not both then Jeff discarded the milk.
It is probably not the case that either 'Bernhard is yellow' or 'Brian is green' but not both.
It is probably not the case that either 'Bernhard is yellow' or 'Brian is green' but not both.
It is highly likely that either 'Bernhard is yellow' 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.1::factA.
  0.2::factB.
  0.5::factC.
  %hop1
  0.7::factX:-or(factB,factC).
  0.95::factY:-xor(factA,factC).
  0.25::factZ:-xor(factC,factB).

  %hop2
  conclusion:-xor(factA,factB).

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Brian is green' but not both.