There is a very good chance that Brian is a lion. It is probable that Greg is yellow. It is highly likely that Mary dropped the milk. Chances are slight that if either 'Mary dropped the milk' or 'Greg is yellow' but not both then Jessica is a cat. It is impossible that if 'Greg is yellow' or 'Mary dropped the milk' or both then Lily is yellow. It is almost certain that if 'Mary dropped the milk and Greg is yellow' then John left the apple.
It is probable that 'Jessica is a cat' or 'Lily is yellow' or both.
There is almost no chance that 'Jessica is a cat' or 'Lily is yellow' or both.
It is probable that 'Jessica is a cat' or 'Lily is yellow' 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.8::factA.
  0.7::factB.
  0.9::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.0::factY:-or(factB,factC).
  0.95::factZ:-and(factC,factB).

  %hop2
  conclusion:-or(factX,factY).

  query(conclusion).
  
'Jessica is a cat' or 'Lily is yellow' or both.