There is almost no chance that Brian is white. It is unlikely that Sandra left the milk. Chances are about even that Bernhard is gray. It is improbable that if 'Bernhard is gray' or 'Brian is white' or both then John dropped the milk. It is likely that if 'Bernhard is gray and Brian is white' then Fred put down the apple. There is almost no chance that if 'Sandra left the milk' or 'Brian is white' or both then Mary went to the kitchen.
It is impossible that 'Mary went to the kitchen and Bernhard is gray'.
It is impossible that 'Mary went to the kitchen and Bernhard is gray'.
There is a better than even chance that 'Mary went to the kitchen and Bernhard is gray'.

  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.02::factA.
  0.2::factB.
  0.5::factC.
  %hop1
  0.1::factX:-or(factC,factA).
  0.7::factY:-and(factC,factA).
  0.02::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Mary went to the kitchen and Bernhard is gray'.