It is almost certain that Gertrude is a cat. It is certain that Bernhard is gray. It is probably not the case that John grabbed the apple. Chances are about even that if either 'John grabbed the apple' or 'Bernhard is gray' but not both then Sandra dropped the milk. We believe that if 'Bernhard is gray' or 'Gertrude is a cat' or both then Julius is a swan. It is improbable that if 'Bernhard is gray and John grabbed the apple' then Lily is a frog.
There is almost no chance that 'Lily is a frog and Bernhard is gray'.
There is almost no chance that 'Lily is a frog and Bernhard is gray'.
It is probably the case that 'Lily is a frog and Bernhard is gray'.

  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.95::factA.
  1.0::factB.
  0.25::factC.
  %hop1
  0.5::factX:-xor(factC,factB).
  0.75::factY:-or(factB,factA).
  0.1::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Lily is a frog and Bernhard is gray'.