1 vote

Which formal system provides the semantic foundation for Prolog ?

- Predicate calculus
- Lambda calculus
- Hoare logic
- Propositional logic

3 votes

ans should A Predicate calculus

**Prolog Inference mechanism**

**Prolog** is based on **F**irst **O**rder **P**redicate **L**ogic ---sometimes abbreviated to FOPL.

First order predicate logic implies the existence of a set of predicate symbols along with a set of connectives.

First order predicate logic implies that there are no means provided for "talking about'' the predicates themselves.

**Prolog** is based on FOPL but uses a restricted version of statements in FOPL, called *Horn clause form*.

http://faculty.simpson.edu/lydia.sinapova/www/cmsc310/Prolog/PrologLessons/LS01-Rules.htm

2 votes

**Propositional logic**is an axiomatization of Boolean logic.**Predicate logic**includes propositional logic and predicates and quantifiers. It is used for making logical programming languages like prolog.**Lambda logic**is used to represent computation as a combination of functions and variables.**Hoare logic**is used to check correctness of computer program. Each calculation must be of the form PCQ where P is precondition, C is the calculation and Q is the post condition

Prolog is based on Predicate calculus

Answer is **A**

0 votes

Prolog is basically a propositional logic based language.Quoted from wiki about Prolog's basis :

"Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a *query* over these relations".

First order logic is nothing but an extension of propositional logic by use of unviersal and existential quantifiers.

Hence D) option should be correct.