It is improbable that Fred went to the garden. It is improbable that Brian is a lion. It is unlikely that Greg is gray. It is improbable that if either 'Fred went to the garden' or 'Greg is gray' but not both then Daniel got the apple. There is almost no chance that if 'Brian is a lion and Fred went to the garden' then Mary left the milk. It is impossible that if 'Fred went to the garden and Brian is a lion' then John moved to the office.
It is probably the case that either 'Brian is a lion' or 'Fred went to the garden' but not both.
It is unlikely that either 'Brian is a lion' or 'Fred went to the garden' but not both.
It is probably the case that either 'Brian is a lion' or 'Fred went to the garden' 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.1::factB.
  0.2::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.02::factY:-and(factB,factA).
  0.0::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Brian is a lion' or 'Fred went to the garden' but not both.