There is almost no chance that Jessica is a cat. There is almost no chance that Jason is tired. Chances are about even that Lily is green. There is a better than even chance that if 'Lily is green' or 'Jessica is a cat' or both then Mary grabbed the milk. It is likely that if 'Lily is green and Jessica is a cat' then Julius is a frog. It is probably not the case that if either 'Lily is green' or 'Jessica is a cat' but not both then John went to the garden.
It is almost certain that 'John went to the garden and Lily is green'.
There is little chance that 'John went to the garden and Lily is green'.
It is almost certain that 'John went to the garden and Lily is green'.

  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.
  0.02::factB.
  0.5::factC.
  %hop1
  0.6::factX:-or(factC,factA).
  0.7::factY:-and(factC,factA).
  0.25::factZ:-xor(factC,factA).

  %hop2
  conclusion:-and(factZ,factC).

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