It is probably the case that Lily is a rhino. It is highly likely that John dropped the apple. There is a very good chance that Brian is green. It is probably not the case that if either 'Brian is green' or 'Lily is a rhino' but not both then Mary went to the bedroom. It is probable that if either 'Brian is green' or 'John dropped the apple' but not both then Bernhard is yellow. It is almost certain that if either 'Brian is green' or 'John dropped the apple' but not both then Sandra left the milk.
It is highly likely that either 'Bernhard is yellow' or 'Brian is green' but not both.
It is highly likely that either 'Bernhard is yellow' or 'Brian is green' but not both.
It is improbable that either 'Bernhard is yellow' or 'Brian is green' 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.7::factA.
  0.9::factB.
  0.8::factC.
  %hop1
  0.25::factX:-xor(factC,factA).
  0.7::factY:-xor(factC,factB).
  0.95::factZ:-xor(factC,factB).

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

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Brian is green' but not both.