There is a better than even chance that Julius is gray. It is highly unlikely that Mary grabbed the milk. There is little chance that Yann is tired. Chances are slight that if 'Yann is tired and Mary grabbed the milk' then Bernhard is yellow. We believe that if 'Mary grabbed the milk and Julius is gray' then Greg is green. There is a very good chance that if 'Yann is tired' or 'Julius is gray' or both then Lily is a swan.
Chances are slight that either 'Bernhard is yellow' or 'Julius is gray' but not both.
There is a better than even chance that either 'Bernhard is yellow' or 'Julius is gray' but not both.
Chances are slight that either 'Bernhard is yellow' or 'Julius is gray' 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.6::factA.
  0.05::factB.
  0.1::factC.
  %hop1
  0.1::factX:-and(factC,factB).
  0.75::factY:-and(factB,factA).
  0.8::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Julius is gray' but not both.