Chances are slight that Greg is gray. It is likely that Lily is green. It is likely that Mary left the apple. Chances are about even that if either 'Lily is green' or 'Greg is gray' but not both then Brian is a swan. It is probable that if 'Greg is gray' or 'Mary left the apple' or both then Jeff went to the garden. It is almost certain that if 'Mary left the apple' or 'Lily is green' or both then Bernhard is white.
We believe that 'Jeff went to the garden and Lily is green'.
It is probably not the case that 'Jeff went to the garden and Lily is green'.
We believe that 'Jeff 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.1::factA.
  0.7::factB.
  0.7::factC.
  %hop1
  0.5::factX:-xor(factB,factA).
  0.7::factY:-or(factA,factC).
  0.95::factZ:-or(factC,factB).

  %hop2
  conclusion:-and(factY,factB).

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