It is impossible that Julius is white. Chances are slight that Jessica is a mouse. It is probably not the case that Bernhard is gray. It is certain that if 'Bernhard is gray' or 'Jessica is a mouse' or both then Brian is a swan. Chances are about even that if 'Bernhard is gray' or 'Julius is white' or both then John went to the garden. It is impossible that if 'Julius is white and Jessica is a mouse' then Mary dropped the milk.
It is probably not the case that 'Bernhard is gray' or 'Mary dropped the milk' or both.
It is probably not the case that 'Bernhard is gray' or 'Mary dropped the milk' or both.
It is almost certain that 'Bernhard is gray' or 'Mary dropped the milk' 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.0::factA.
  0.1::factB.
  0.25::factC.
  %hop1
  1.0::factX:-or(factC,factB).
  0.5::factY:-or(factC,factA).
  0.0::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Bernhard is gray' or 'Mary dropped the milk' or both.