please dont rip this site

Prolog

One can use the Prolog word in the following meanings:

Well, what is the difference between the logic languages and non-logical ones? There is some very simple criterion to identify a logic language:

  1. Any logic language should include some subset (one can say pure Prolog) supporting so-called model-theoretic semantics. It means that any program written in this subset of the language could be converted into a formula of first-order logic (or higher one). Also, some subset of the formulas of the first-order logic can be converted into this pure subset of the programming language. So, pure Prolog is simply yet another format for writing logic formulas.
  2. The rules of execution of logic program should be sound according to the model-theoretic semantics of the program. It means that program should never compute the (incorrect) solutions, that are not a logical consequence of the program (the program is the logical formula, as we know).
  3. The rules of execution of the program should be complete according to the model-theoretic semantics of the program (at least in the cases when infinite calculations do not occur!). It means that the program should calculate all the solutions that are a logical consequence of the program. It is one of the most powerful idea of logic programming: one can use a logic language for exhaustive search, if s/he actually need it.

The problem is that most of practical logic languages have non-logical features that have no model-theoretic semantics. But any logic language should contain some pure kernel!

So, if somebody tells you that s/he has developed some logic language, firstly ask s/he the following questions:

  1. What are the main concepts and features of the language?
  2. Are these features pure in the logical sense?

If there are some important concepts in the language that do not support model-theoretic semantics, it means that the author left the intriguing possibility of creating completely logical programming language. So, be careful: a lot of Prologs are not logic languages at all (they have no pure kernel)! It is a great challenge to develop some correct logic language with the modern features (object-oriented, concurrent, agent-based, visual, etc.)

I recommend you to visit the following sites before starting your own research in the field of logic programming:

There are some big sites devoted to Prolog:

Best regards,
Alexei A. Morozov
morozov@mail.cplire.ru


Questions:

See also:

"Prolog is 'Jeopardy!' for programmers."
+


file: /Techref/language/prolog/index.htm, 14KB, , updated: 2020/6/13 12:25, local time: 2024/11/15 23:24, owner: AAM-IRE-RAS-F7C,
TOP NEW HELP FIND: 
3.135.184.250:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://linistepper.com/techref/language/prolog/index.htm"> - Prolog</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?