It is improbable that Brian is white. It is improbable that Jeff went to the bedroom. It is probably the case that Mary dropped the milk. It is certain that if either 'Mary dropped the milk' or 'Jeff went to the bedroom' but not both then Bernhard is a rhino. It is probably not the case that if 'Brian is white' or 'Jeff went to the bedroom' or both then John moved to the office. It is probable that if 'Mary dropped the milk' or 'Brian is white' or both then Greg is green.
There is a better than even chance that either 'Brian is white' or 'Bernhard is a rhino' but not both.
There is a better than even chance that either 'Brian is white' or 'Bernhard is a rhino' but not both.
It is improbable that either 'Brian is white' or 'Bernhard is a rhino' 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.7::factC.
  %hop1
  1.0::factX:-xor(factC,factB).
  0.25::factY:-or(factA,factB).
  0.7::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Brian is white' or 'Bernhard is a rhino' but not both.