It is improbable that Julius is green. It is probable that Brian is yellow. It is probably the case that Lily is white. There is little chance that if either 'Julius is green' or 'Lily is white' but not both then Greg is a lion. There is a better than even chance that if 'Brian is yellow' or 'Lily is white' or both then Jessica is a cat. It is unlikely that if 'Brian is yellow' or 'Lily is white' or both then Mary went to the garden.
Chances are about even that either 'Brian is yellow' or 'Jessica is a cat' but not both.
Chances are about even that either 'Brian is yellow' or 'Jessica is a cat' but not both.
It is certain that either 'Brian is yellow' 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.1::factA.
  0.7::factB.
  0.7::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.6::factY:-or(factB,factC).
  0.2::factZ:-or(factB,factC).

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

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