There is a very good chance that Bernhard is a frog. It is highly unlikely that Brian is white. It is likely that Jessica is a cat. Chances are about even that if either 'Brian is white' or 'Jessica is a cat' but not both then Lily is yellow. It is probably the case that if 'Brian is white' or 'Bernhard is a frog' or both then Greg is gray. It is impossible that if 'Brian is white and Jessica is a cat' then John dropped the milk.
Chances are about even that 'Brian is white' or 'Lily is yellow' or both.
Chances are about even that 'Brian is white' or 'Lily is yellow' or both.
There is almost no chance that 'Brian is white' 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.05::factB.
  0.7::factC.
  %hop1
  0.5::factX:-xor(factB,factC).
  0.7::factY:-or(factB,factA).
  0.0::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Brian is white' or 'Lily is yellow' or both.