It is certain that Bernhard is gray. It is probably the case that John put down the apple. There is almost no chance that Lily is white. It is almost certain that if 'John put down the apple' or 'Lily is white' or both then Julius is a swan. It is improbable that if 'Bernhard is gray and John put down the apple' then Brian is a frog. It is highly likely that if 'Bernhard is gray and Lily is white' then Mary left the football.
It is probably not the case that 'Mary left the football' or 'Bernhard is gray' or both.
It is certain that 'Mary left the football' or 'Bernhard is gray' or both.
It is probably not the case that 'Mary left the football' or 'Bernhard 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
  1.0::factA.
  0.7::factB.
  0.02::factC.
  %hop1
  0.95::factX:-or(factB,factC).
  0.1::factY:-and(factA,factB).
  0.9::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Mary left the football' or 'Bernhard is gray' or both.