It is probable that Lily is a lion. Chances are about even that Mary moved to the garden. It is probably not the case that Bernhard is yellow. Chances are about even that if 'Lily is a lion and Mary moved to the garden' then Greg is gray. It is almost certain that if 'Mary moved to the garden and Bernhard is yellow' then John left the milk. It is probably the case that if either 'Mary moved to the garden' or 'Lily is a lion' but not both then Sandra took the apple.
It is unlikely that 'Greg is gray and Lily is a lion'.
It is unlikely that 'Greg is gray and Lily is a lion'.
It is probable that 'Greg is gray and Lily is a lion'.

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

  %hop2
  conclusion:-and(factX,factA).

  query(conclusion).
  
'Greg is gray and Lily is a lion'.