How to Handle Negation in Prolog: Several Logical Approaches

tags
Logic Programming

Notes

the existence of negated sentences (in this case ¬(2 × 2 = 4)) presents a challenging question: how can they exist?

NOTER_PAGE: (2 . 0.7790507364975451)

How can we claim that we know 2 × 2 = 4? Do we need to know each instances x where 2 × 2 6= x

NOTER_PAGE: (3 . 0.18001241464928616)

the closed world assumption presupposed a challenging position: an S5 model for knowledge.

NOTER_PAGE: (3 . 0.2886405959031657)

the cost we have to pay is an increase in the complexity.

NOTER_PAGE: (3 . 0.6163873370577281)

Four Valued Logic for Prolog

NOTER_PAGE: (3 . 0.6610800744878957)

“insist-on-ground negation as failure” (GNAF)

NOTER_PAGE: (4 . 0.23339540657976413)

total order on the degree of computational priority of the given truth values.

NOTER_PAGE: (4 . 0.34202358783364367)

different truth val- ues when they appear as the first conjunct of a conjunction.

NOTER_PAGE: (5 . 0.5990068280571074)

equivalent formulae may be parsed by fol- lowing a different order.

NOTER_PAGE: (6 . 0.28429546865301053)

Extending Programs with Classical Negation

NOTER_PAGE: (9 . 0.1669770328988206)

include negative infor- mation explicitly.

NOTER_PAGE: (9 . 0.22470515207945374)

extended programs will not correspond to the positive Horn clauses.

NOTER_PAGE: (9 . 0.45996275605214154)

The answer set will be defined as the set of all ground literals which can be generated by using either the rules of the program or by utilizing classical logic.

NOTER_PAGE: (9 . 0.4934823091247672)

a consistent answer set S is the answer set of the program P if and only if S + is an answer set for the program P + .

NOTER_PAGE: (10 . 0.22160148975791433)

what!!!

under some conditions (such as stability), one can reduce the extended programs to the general programs in such a way that not is well- handled.

NOTER_PAGE: (10 . 0.33147113594040967)

Extending the Models for Negation

NOTER_PAGE: (10 . 0.5226567349472377)

this logic has an intuitionistic sense as it does not adopt the law of excluded middle.

NOTER_PAGE: (11 . 0.2669149596523898)

computational restrictions that Prolog poses. One such restriction is the non-computability of point infinity.

NOTER_PAGE: (12 . 0.37988826815642457)

without the closed world assumption, one can suggest that the logic of prolog is rather intuitionistic

NOTER_PAGE: (12 . 0.7566728739913098)

from the perspective of programming languages, this seems inevitable considering the vast majority of practical implementations.

NOTER_PAGE: (12 . 0.7864680322780881)

what seems altogether inconceivable, how this new relation can be a deduction from others, which are entirely different from it.

NOTER_PAGE: (13 . 0.46244568590937307)

“sun raises from west” is not a knowledge. Because, we cannot verify that it will hold in each temporal instance of the cosmos. Therefore, in a sophisticated sense, we cannot know neither “sun raises from west” nor “sun does not raise from west”.

NOTER_PAGE: (13 . 0.6523898199875854)

handling of negation is not a current problem, but a problem which kept philosophers and logicians busy throughout the ages.

NOTER_PAGE: (14 . 0.2191185599006828)

most other approaches to the negation problem would be reduced one or another instance of either of these approaches.

NOTER_PAGE: (14 . 0.40037243947858475)

Restricted closed world assumption

NOTER_PAGE: (14 . 0.5915580384854128)

separate set of syntactical domains. One for positive formulae, one for the negative formulae

NOTER_PAGE: (14 . 0.6461824953445066)

spot where the program needs the closed world assumption

NOTER_PAGE: (14 . 0.7299813780260708)

search tree algorithms

NOTER_PAGE: (14 . 0.7343265052762259)

The mismatch between the formal logic and the programming paradigm is significant.

NOTER_PAGE: (15 . 0.3339540657976412)