There is a very good chance that Fred moved to the office. We doubt that Greg is white. It is improbable that Bernhard is a swan. It is improbable that if 'Greg is white' or 'Bernhard is a swan' or both then Lily is a rhino. It is unlikely that if 'Bernhard is a swan and Fred moved to the office' then Daniel dropped the apple. It is impossible that if 'Bernhard is a swan' or 'Fred moved to the office' or both then Mary picked up the milk.
It is impossible that either 'Fred moved to the office' or 'Greg is white' but not both.
It is likely that either 'Fred moved to the office' or 'Greg is white' but not both.
It is impossible that either 'Fred moved to the office' or 'Greg is white' 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.8::factA.
  0.2::factB.
  0.1::factC.
  %hop1
  0.1::factX:-or(factB,factC).
  0.2::factY:-and(factC,factA).
  0.0::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Fred moved to the office' or 'Greg is white' but not both.