Chances are slight that Greg is green. Chances are about even that Sandra left the apple. It is highly likely that Lily is a lion. It is improbable that if 'Greg is green' or 'Lily is a lion' or both then Daniel took the football. There is almost no chance that if either 'Sandra left the apple' or 'Greg is green' but not both then Julius is gray. It is highly likely that if 'Sandra left the apple' or 'Lily is a lion' or both then Fred is in the cinema.
It is highly likely that either 'Julius is gray' or 'Lily is a lion' but not both.
It is highly likely that either 'Julius is gray' or 'Lily is a lion' but not both.
It is impossible that either 'Julius is gray' or 'Lily is a lion' 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.5::factB.
  0.9::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.02::factY:-xor(factB,factA).
  0.9::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Julius is gray' or 'Lily is a lion' but not both.