It is impossible that Julius is gray. There is little chance that John went to the garden. It is probable that Jeff left the football. There is little chance that if either 'John went to the garden' or 'Jeff left the football' but not both then Gertrude is a sheep. Chances are about even that if either 'John went to the garden' or 'Julius is gray' but not both then Fred put down the apple. Chances are slight that if either 'Jeff left the football' or 'Julius is gray' but not both then Lily is a frog.
It is highly unlikely that either 'Fred put down the apple' or 'John went to the garden' but not both.
It is highly unlikely that either 'Fred put down the apple' or 'John went to the garden' but not both.
It is probably the case that either 'Fred put down the apple' or 'John went to the garden' 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.0::factA.
  0.1::factB.
  0.7::factC.
  %hop1
  0.1::factX:-xor(factB,factC).
  0.5::factY:-xor(factB,factA).
  0.1::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Fred put down the apple' or 'John went to the garden' but not both.