Adding negation in logic programming is known to be a hard problem. Many Prolog implementations uses so-called Negation As a Failure (NAF). In NAF, the negated goal can be derived from the failure to derive its positive variant. Unfortunately, NAF is incomplete. Moreover, the Clark completion semantics (which is a declarative semantics of logic programs with NAF) sometimes gives unexpected results. In this talk the alternative semantics for logic programs with negation will be presented --- Perfect model semantics, Well-Founded semantics and Stable model semantics. Also we will look at Constructive Negation, which is another approach to negation in logic programming. Constructive Negation generalizes NAF and allows to derive constraints on logic variables.

Presenter --- Eugene Moiseenko

Date: November 27, 2017

Time: 17:15

Venue: room 3248, Faculty of Mathematics and Mechanics, Saint Petersburg State University, Stary Peterhof, Universitetski pr., 28