Logic Programming

Frequently Asked Questions

Keith L. ClarkWhat is Artificial Intelligence?
Artificial Intelligence is where an artificial machine has the ability to act intelligently by carrying out tasks such as reasoning.

What is Logic Programming?
Logic Programming is the use of logic to represent facts and rules. Inference rules are used to manipulate the information. Logic Programming languages are declarative; they are being used in the research of AI because it is useful for knowledge representation.

Is Logic Programming the only field of research taking place for AI?
No, logic programming is just one particular part of the research for artificial intelligence. Logic programming allows a machine to reason. However, there are many other fields of research, such as cognitive robotics, evolutionary algorithms, theorem proving, agents, multi-agent systems and computer vision.

Why is Clausal form used to represent knowledge in Logic Programming?
Clausal-Form is a subset of first-order logic which is well understood and can be used to represent all computational problems. John Alan Robinson's discovery of the resolution inference rule has meant that only one inference is required when using clausal-form.

What is Prolog?
Prolog is a declarative programming language and is based upon logic programming. Prolog stands for "Programming in Logic", it was first implemented at the University of Aix-Marseille by Alain Colmerauer and Philippe Roussel in 1973; as the development of Prolog has progressed many non-logical primitives have been introduced to aid the programmers, however, this has the disadvantage of affecting the language's logical purity. Other logic programming have also been implemented such as Concurrent Prolog which allows the programs to be used on multi-processor machines.

I would like to do some more research into logic programming, are there any resources you can recommend?
Please see our Summary section for a list of recommended reading, or alternatively see our References section containing a list of books and websites that were used in our research.

I'm interested in learning Prolog, where can I get some materials so I can start learning?
There are many books available which provide you with the necessary knowledge to start programming in Prolog such as "Prolog Programming for Students" which may be useful for beginners. Also C.J.Hogger's Prolog notes are very good for learning Prolog. To start writing Prolog programs, you will need an interpreter such as SICStus.

After reading the detailed information on your website, I still have some unanswered questions.
If there is something about logic programming we have not covered fully on this website, you are welcome to contact us, and we will endeavour to help. You may also find it helpful to go to a library or research on the internet. Good Luck!