There is a better than even chance that Greg is gray. It is improbable that Mary got the football. It is improbable that Fred dropped the milk. It is probable that if either 'Fred dropped the milk' or 'Mary got the football' but not both then Brian is green. There is almost no chance that if either 'Fred dropped the milk' or 'Greg is gray' but not both then Julius is a lion. It is probable that if either 'Mary got the football' or 'Fred dropped the milk' but not both then John went to the kitchen.
It is almost certain that either 'Brian is green' or 'Fred dropped the milk' but not both.
There is little chance that either 'Brian is green' or 'Fred dropped the milk' but not both.
It is almost certain that either 'Brian is green' or 'Fred dropped 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.6::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.7::factX:-xor(factC,factB).
  0.02::factY:-xor(factC,factA).
  0.7::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Brian is green' or 'Fred dropped the milk' but not both.