Wednesday, April 26, 2017
Logic programming
A program is a set of premises, and computation is performed by attempting to prove candidate theorems. From this point of view, logic programs are declarative, focusing on what the problem is, rather than on how to solve it.
However, the backward reasoning technique, implemented by SLD resolution, used to solve problems in logic programming languages such as Prolog, treats programs as goal-reduction procedures. Thus clauses of the form:
- H :- B1, …, Bn.
have a dual interpretation, both as procedures
- to show/solve H, show/solve B1 and … and Bn
and as logical implications:
- B1 and … and Bn implies H.
Experienced logic programmers use the procedural interpretation to write programs that are effective and efficient, and they use the declarative interpretation to help ensure that programs are correct.
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment