It is probable that Greg is gray. It is likely that Julius is a rhino. There is almost no chance that John grabbed the apple. It is almost certain that if 'Greg is gray' or 'John grabbed the apple' or both then Brian is green. Chances are slight that if 'Julius is a rhino' or 'John grabbed the apple' or both then Lily is a frog. We believe that if either 'Julius is a rhino' or 'John grabbed the apple' but not both then Jeff went to the bedroom.
It is probably the case that either 'Greg is gray' or 'Lily is a frog' but not both.
It is probably the case that either 'Greg is gray' or 'Lily is a frog' but not both.
It is improbable that either 'Greg is gray' or 'Lily is a frog' 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.7::factB.
  0.02::factC.
  %hop1
  0.95::factX:-or(factA,factC).
  0.1::factY:-or(factB,factC).
  0.75::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Greg is gray' or 'Lily is a frog' but not both.