It is probable that Julius is gray. It is certain that Bernhard is green. It is highly likely that Mary took the football. It is unlikely that if either 'Bernhard is green' or 'Mary took the football' but not both then Lily is green. There is a better than even chance that if 'Julius is gray and Bernhard is green' then Winona is a mouse. It is impossible that if either 'Julius is gray' or 'Mary took the football' but not both then John discarded the milk.
There is almost no chance that 'Lily is green' or 'John discarded the milk' or both.
There is almost no chance that 'Lily is green' or 'John discarded the milk' or both.
It is probable that 'Lily is green' or 'John discarded the milk' 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.7::factA.
  1.0::factB.
  0.9::factC.
  %hop1
  0.2::factX:-xor(factB,factC).
  0.6::factY:-and(factA,factB).
  0.0::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Lily is green' or 'John discarded the milk' or both.