Chances are slight that Julius is white. It is highly likely that Jason is tired. It is almost certain that Mary went to the office. It is probably the case that if 'Julius is white' or 'Mary went to the office' or both then John moved to the garden. Chances are about even that if either 'Mary went to the office' or 'Jason is tired' but not both then Greg is a lion. It is highly unlikely that if either 'Jason is tired' or 'Mary went to the office' but not both then Bernhard is white.
There is almost no chance that either 'Greg is a lion' or 'Mary went to the office' but not both.
It is highly likely that either 'Greg is a lion' or 'Mary went to the office' but not both.
There is almost no chance that either 'Greg is a lion' or 'Mary went to the office' 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.95::factC.
  %hop1
  0.7::factX:-or(factA,factC).
  0.5::factY:-xor(factC,factB).
  0.05::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Greg is a lion' or 'Mary went to the office' but not both.