Chances are slight that Brian is a frog. It is impossible that Lily is green. It is probable that Bernhard is gray. It is improbable that if 'Brian is a frog' or 'Bernhard is gray' or both then Greg is a rhino. It is almost certain that if 'Lily is green' or 'Bernhard is gray' or both then Winona is a sheep. It is improbable that if 'Lily is green and Brian is a frog' then Jeff left the apple.
It is impossible that 'Bernhard is gray and Jeff left the apple'.
It is impossible that 'Bernhard is gray and Jeff left the apple'.
There is a better than even chance that 'Bernhard is gray and Jeff left the apple'.

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

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

  query(conclusion).
  
'Bernhard is gray and Jeff left the apple'.