36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
|
=================================================================
|
||
|
Logtalk - Object oriented extension to Prolog
|
||
|
Release 2.17.2
|
||
|
|
||
|
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||
|
=================================================================
|
||
|
|
||
|
|
||
|
To load all entities in this example compile and load the loader file:
|
||
|
|
||
|
| ?- logtalk_load(loader).
|
||
|
|
||
|
This folder contains an object which implements a translator from
|
||
|
logic propositions to a set of clauses in conjunctive normal form.
|
||
|
The translator code is partially based on code published in the
|
||
|
book "Programming in Prolog" by W. F. Clocksin and C. S. Mellish.
|
||
|
|
||
|
The following operators are used for representing logic connectives:
|
||
|
|
||
|
negation: ~
|
||
|
disjunction: v
|
||
|
conjunction: &
|
||
|
implication: =>
|
||
|
equivalence: <=>
|
||
|
|
||
|
Quantifiers are represented using the following notation:
|
||
|
|
||
|
universal: all(X, P)
|
||
|
existential: exists(X, P)
|
||
|
|
||
|
The two main object predicates are translate/2 and step_by_step/2.
|
||
|
The first predicate, translate/2, translate a logic proposition to
|
||
|
a list of clauses. The second predicate, step_by_step/2, performs
|
||
|
the same translations as translate/2 but also prints the results
|
||
|
of each conversion step.
|