It is almost certain that Jeff went to the hallway. There is a very good chance that Sandra dropped the milk. Chances are slight that Bernhard is a swan. We doubt that if either 'Sandra dropped the milk' or 'Jeff went to the hallway' but not both then John left the football. Chances are slight that if 'Sandra dropped the milk' or 'Bernhard is a swan' or both then Lily is a lion. It is impossible that if 'Jeff went to the hallway and Sandra dropped the milk' then Mary grabbed the milk.
It is probably the case that 'Mary grabbed the milk and Sandra dropped the milk'.
It is impossible that 'Mary grabbed the milk and Sandra dropped the milk'.
It is probably the case that 'Mary grabbed the milk and Sandra dropped the milk'.

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

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

  query(conclusion).
  
'Mary grabbed the milk and Sandra dropped the milk'.