+1 vote
1.2k views

Which formal system provides the semantic foundation for Prolog ?

1. Predicate calculus
2. Lambda calculus
3. Hoare logic
4. Propositional logic
in Others
retagged | 1.2k views

ans should    A  Predicate calculus

Prolog is based on First Order Predicate Logic ---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.

by Boss (48.8k points)
• 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

by Boss (32.5k points)

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.

by Veteran (102k points)