It is highly likely that John went to the kitchen. It is almost certain that Brian is yellow. It is almost certain that Greg is white. Chances are slight that if either 'Greg is white' or 'Brian is yellow' but not both then Mary moved to the garden. Chances are slight that if 'Brian is yellow' or 'Greg is white' or both then Julius is a lion. It is probably not the case that if 'Greg is white' or 'John went to the kitchen' or both then Daniel left the milk.
It is certain that either 'Brian is yellow' or 'John went to the kitchen' but not both.
Chances are slight that either 'Brian is yellow' or 'John went to the kitchen' but not both.
It is certain that either 'Brian is yellow' or 'John went to 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.9::factA.
  0.95::factB.
  0.95::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.1::factY:-or(factB,factC).
  0.25::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Brian is yellow' or 'John went to the kitchen' but not both.