It is highly likely that Lily is gray. It is impossible that Greg is a frog. It is probably the case that Julius is a rhino. Chances are about even that if 'Greg is a frog' or 'Lily is gray' or both then Emily is a wolf. It is improbable that if 'Lily is gray and Julius is a rhino' then Brian is a frog. It is probably not the case that if 'Lily is gray' or 'Greg is a frog' or both then John took the apple.
It is highly likely that 'John took the apple' or 'Lily is gray' or both.
It is highly likely that 'John took the apple' or 'Lily is gray' or both.
Chances are slight that 'John took the apple' or 'Lily is gray' or both.

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

  %hop2
  conclusion:-or(factZ,factA).

  query(conclusion).
  
'John took the apple' or 'Lily is gray' or both.