We believe that Winona is a mouse. It is impossible that Bernhard is green. It is probably the case that Julius is white. We doubt that if 'Julius is white and Bernhard is green' then Lily is yellow. Chances are slight that if 'Bernhard is green and Winona is a mouse' then John left the football. It is impossible that if either 'Julius is white' or 'Bernhard is green' but not both then Mary went to the kitchen.
It is impossible that 'Bernhard is green' or 'Mary went to the kitchen' or both.
It is impossible that 'Bernhard is green' or 'Mary went to the kitchen' or both.
It is almost certain that 'Bernhard is green' or 'Mary went to the kitchen' 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.75::factA.
  0.0::factB.
  0.7::factC.
  %hop1
  0.2::factX:-and(factC,factB).
  0.1::factY:-and(factB,factA).
  0.0::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Bernhard is green' or 'Mary went to the kitchen' or both.