It is probably the case that Bernhard is green. It is unlikely that John discarded the apple. There is little chance that Mary grabbed the milk. Chances are slight that if either 'Bernhard is green' or 'Mary grabbed the milk' but not both then Julius is a frog. It is probably not the case that if 'Bernhard is green and Mary grabbed the milk' then Greg is yellow. There is a very good chance that if either 'John discarded the apple' or 'Bernhard is green' but not both then Jeff left the apple.
There is little chance that either 'Greg is yellow' or 'Mary grabbed the milk' but not both.
There is little chance that either 'Greg is yellow' or 'Mary grabbed the milk' but not both.
It is probable that either 'Greg is yellow' or 'Mary grabbed the milk' 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.2::factB.
  0.1::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.25::factY:-and(factA,factC).
  0.8::factZ:-xor(factB,factA).

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

  query(conclusion).
  
Either 'Greg is yellow' or 'Mary grabbed the milk' but not both.