It is probably the case that Greg is green. We believe that Emily is a sheep. It is probably the case that Mary went to the garden. It is certain that if either 'Emily is a sheep' or 'Greg is green' but not both then Julius is yellow. We doubt that if 'Emily is a sheep and Mary went to the garden' then Lily is a frog. It is probable that if 'Greg is green and Mary went to the garden' then Bernhard is gray.
It is improbable that either 'Julius is yellow' or 'Greg is green' but not both.
We believe that either 'Julius is yellow' or 'Greg is green' but not both.
It is improbable that either 'Julius is yellow' or 'Greg 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.7::factA.
  0.75::factB.
  0.7::factC.
  %hop1
  1.0::factX:-xor(factB,factA).
  0.2::factY:-and(factB,factC).
  0.7::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Julius is yellow' or 'Greg is green' but not both.