It is improbable that Mary moved to the office. Chances are about even that Greg is a rhino. It is probably not the case that Sandra is in the kitchen. There is almost no chance that if 'Sandra is in the kitchen' or 'Greg is a rhino' or both then Brian is white. It is improbable that if 'Greg is a rhino and Sandra is in the kitchen' then Bernhard is green. It is almost certain that if 'Mary moved to the office and Sandra is in the kitchen' then Daniel put down the milk.
Chances are about even that either 'Greg is a rhino' or 'Sandra is in the kitchen' but not both.
Chances are about even that either 'Greg is a rhino' or 'Sandra is in the kitchen' but not both.
It is impossible that either 'Greg is a rhino' or 'Sandra is in the kitchen' 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.5::factB.
  0.25::factC.
  %hop1
  0.02::factX:-or(factC,factB).
  0.1::factY:-and(factB,factC).
  0.95::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Greg is a rhino' or 'Sandra is in the kitchen' but not both.