It is probably the case that Mary put down the apple. It is unlikely that Greg is white. It is impossible that Lily is a swan. There is a better than even chance that if 'Greg is white' or 'Lily is a swan' or both then Brian is green. There is almost no chance that if either 'Greg is white' or 'Mary put down the apple' but not both then Jeff discarded the milk. It is impossible that if 'Lily is a swan and Mary put down the apple' then Sandra is in the kitchen.
It is impossible that 'Jeff discarded the milk and Greg is white'.
It is impossible that 'Jeff discarded the milk and Greg is white'.
It is highly likely that 'Jeff discarded the milk and Greg is white'.

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

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

  query(conclusion).
  
'Jeff discarded the milk and Greg is white'.