We doubt that Julius is green. There is almost no chance that Mary got the milk. There is a better than even chance that Greg is yellow. It is highly unlikely that if either 'Julius is green' or 'Greg is yellow' but not both then Bill moved to the office. There is little chance that if either 'Julius is green' or 'Mary got the milk' but not both then Lily is green. It is probable that if either 'Julius is green' or 'Mary got the milk' but not both then John went to the garden.
We doubt that 'Lily is green' or 'Julius is green' or both.
We doubt that 'Lily is green' or 'Julius is green' or both.
There is a very good chance that 'Lily is green' or 'Julius is green' 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.2::factA.
  0.02::factB.
  0.6::factC.
  %hop1
  0.05::factX:-xor(factA,factC).
  0.1::factY:-xor(factA,factB).
  0.7::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'Lily is green' or 'Julius is green' or both.