It is probably not the case that Greg is gray. There is a better than even chance that Brian is a frog. We doubt that John put down the apple. There is a very good chance that if 'Greg is gray' or 'Brian is a frog' or both then Mary dropped the milk. It is probably the case that if either 'Greg is gray' or 'Brian is a frog' but not both then Lily is a swan. It is highly unlikely that if 'Greg is gray and Brian is a frog' then Julius is a rhino.
It is probable that either 'Greg is gray' or 'John put down the apple' but not both.
It is probably not the case that either 'Greg is gray' or 'John put down the apple' but not both.
It is probable that either 'Greg is gray' or 'John put down 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.25::factA.
  0.6::factB.
  0.2::factC.
  %hop1
  0.8::factX:-or(factA,factB).
  0.7::factY:-xor(factA,factB).
  0.05::factZ:-and(factA,factB).

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

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