It is probable that Bernhard is gray. It is probable that Daniel put down the milk. Chances are about even that Mary got the apple. There is a better than even chance that if either 'Mary got the apple' or 'Daniel put down the milk' but not both then Brian is gray. It is impossible that if 'Mary got the apple' or 'Bernhard is gray' or both then John went to the kitchen. Chances are slight that if 'Mary got the apple and Bernhard is gray' then Jason is tired.
It is impossible that 'Daniel put down the milk and John went to the kitchen'.
It is impossible that 'Daniel put down the milk and John went to the kitchen'.
It is highly likely that 'Daniel put down the milk and John went to the kitchen'.

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

  %hop2
  conclusion:-and(factB,factY).

  query(conclusion).
  
'Daniel put down the milk and John went to the kitchen'.