There is little chance that Brian is gray. It is almost certain that John grabbed the apple. We believe that Julius is a frog. There is almost no chance that if either 'John grabbed the apple' or 'Julius is a frog' but not both then Greg is gray. It is almost certain that if 'John grabbed the apple' or 'Julius is a frog' or both then Bill left the milk. It is almost certain that if either 'Brian is gray' or 'John grabbed the apple' but not both then Mary went to the office.
It is almost certain that either 'Greg is gray' or 'John grabbed the apple' but not both.
It is almost certain that either 'Greg is gray' or 'John grabbed the apple' but not both.
Chances are about even that either 'Greg is gray' or 'John grabbed the apple' 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.95::factB.
  0.75::factC.
  %hop1
  0.02::factX:-xor(factB,factC).
  0.95::factY:-or(factB,factC).
  0.95::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Greg is gray' or 'John grabbed the apple' but not both.