It is probably the case that John dropped the apple. It is probable that Sandra grabbed the milk. It is probably the case that Brian is a frog. We believe that if 'Brian is a frog and John dropped the apple' then Greg is gray. We believe that if 'Sandra grabbed the milk' or 'John dropped the apple' or both then Mary went to the garden. It is impossible that if 'John dropped the apple and Brian is a frog' then Lily is a swan.
It is almost certain that either 'John dropped the apple' or 'Greg is gray' but not both.
It is probably not the case that either 'John dropped the apple' or 'Greg is gray' but not both.
It is almost certain that either 'John dropped the apple' or 'Greg is gray' 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.7::factC.
  %hop1
  0.75::factX:-and(factC,factA).
  0.75::factY:-or(factB,factA).
  0.0::factZ:-and(factA,factC).

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

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