NEW
A declarative programming paradigm where computation is inference over facts and rules expressed in formal logic.
DESCRIPTION
Logic programming expresses programs as sets of facts and rules, with queries resolved by logical inference rather than explicit control flow. Languages like Prolog and Datalog use Horn clauses, unification, and backtracking to derive solutions. It excels in knowledge representation, reasoning, and constraint satisfaction problems. In data, Datalog supports recursive queries and graph analytics. The paradigm simplifies expressing complex relationships but may have performance constraints compared to imperative styles.
ALTERNATIVE DEFINITIONS
Wikipedia
Logic programming is a programming paradigm that is largely based on formal logic.
Highlights reliance on formal logic as the core paradigm.
Stanford Encyclopedia of Philosophy
Logic programming is the use of logic to represent programs, and computation is performed by proof.
Stresses computation via logical proof and representation.
RELATED TERMS
Prolog Datalog Declarative Programming Horn Clause Inference Engine Knowledge Representation Constraint Logic Programming Rule-Based System Unification Backtracking
COMPETING TERMS
Functional Programming Imperative Programming
KNOWLEDGE AREAS
Programming Languages AI Semantic & Knowledge Modeling Software Engineering
TARGET AUDIENCE
Software Developer AI Engineer Data Scientist
EXTERNAL SOURCES
- Wikipedia - Logic programming
- SWI-Prolog - Introductory Prolog documentation
- Wikipedia - Overview of logic programming
TOP QUESTIONS
What problems suit Logic Programming best?
Knowledge representation, rule-based reasoning, constraint satisfaction, and recursive query evaluation benefit from logic programming’s declarative nature.
Category: Example
How does Logic Programming differ from imperative programming?
Logic programming specifies what to compute via rules and facts, while imperative programming specifies how to compute via control flow.
Category: Misunderstanding
What is the role of unification in Logic Programming?
Unification matches terms and variables, enabling inference by finding substitutions that satisfy rules and queries.
Category: Overview
Is Logic Programming relevant for databases?
Yes. Datalog supports recursive queries and reasoning, underpinning graph queries and data lineage inference.
Category: Relevancy
What are common languages used in Logic Programming?
Prolog and Datalog are widely used, with variants like constraint logic programming for optimization problems.
Category: Overview
What are common mistakes when learning Logic Programming?
Thinking in imperative steps instead of declarative constraints and misusing cuts or side effects are typical pitfalls.
Category: Mistakes
What is a hot topic around Logic Programming today?
Integrating symbolic reasoning with neural models (neuro-symbolic AI) is an active research area.
Category: Topic
How can I start learning Logic Programming?
Begin with Prolog tutorials, practice writing facts and rules, and solve puzzles to build intuition.
Category: Requirements
What are alternatives to Logic Programming?
Functional and imperative paradigms offer different strengths in performance and ecosystem; choice depends on problem domain.
Category: Alternatives