It is improbable that John went to the kitchen. It is highly likely that Fred is in the cinema. There is a better than even chance that Greg is a frog. It is impossible that if 'John went to the kitchen and Greg is a frog' then Mary discarded the milk. It is probably not the case that if either 'Greg is a frog' or 'Fred is in the cinema' but not both then Lily is a lion. It is probable that if either 'Fred is in the cinema' or 'Greg is a frog' but not both then Bernhard is white.
Chances are slight that either 'Bernhard is white' or 'Fred is in the cinema' but not both.
It is likely that either 'Bernhard is white' or 'Fred is in the cinema' but not both.
Chances are slight that either 'Bernhard is white' or 'Fred is in the cinema' 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.9::factB.
  0.6::factC.
  %hop1
  0.0::factX:-and(factA,factC).
  0.25::factY:-xor(factC,factB).
  0.7::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Bernhard is white' or 'Fred is in the cinema' but not both.