There is almost no chance that Jeff discarded the milk. It is certain that John went to the garden. It is probable that Julius is yellow. We doubt that if 'Jeff discarded the milk' or 'Julius is yellow' or both then Lily is green. It is probably not the case that if 'Julius is yellow and Jeff discarded the milk' then Gertrude is a mouse. There is almost no chance that if either 'Julius is yellow' or 'Jeff discarded the milk' but not both then Brian is a rhino.
It is certain that 'Lily is green' or 'John went to the garden' or both.
It is certain that 'Lily is green' or 'John went to the garden' or both.
There is almost no chance that 'Lily is green' or 'John went to the garden' 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.02::factA.
  1.0::factB.
  0.7::factC.
  %hop1
  0.2::factX:-or(factA,factC).
  0.25::factY:-and(factC,factA).
  0.02::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Lily is green' or 'John went to the garden' or both.