Chances are slight that Bernhard is a lion. It is highly likely that Lily is green. It is probably the case that John took the apple. It is likely that if either 'Lily is green' or 'John took the apple' but not both then Greg is yellow. It is unlikely that if either 'John took the apple' or 'Lily is green' but not both then Bill went to the bedroom. It is probably not the case that if either 'John took the apple' or 'Lily is green' but not both then Julius is white.
It is unlikely that 'Julius is white' or 'Bernhard is a lion' or both.
It is unlikely that 'Julius is white' or 'Bernhard is a lion' or both.
It is likely that 'Julius is white' or 'Bernhard is a lion' or 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.7::factC.
  %hop1
  0.7::factX:-xor(factB,factC).
  0.2::factY:-xor(factC,factB).
  0.25::factZ:-xor(factC,factB).

  %hop2
  conclusion:-or(factZ,factA).

  query(conclusion).
  
'Julius is white' or 'Bernhard is a lion' or both.