Control Structures in
Prolog
Combining Logic with Execution Flow
Prolog uses unique control structures based on logical inference
and backtracking to guide program execution.
by Rutvika Ghadiyali
What are Control
Structures?
1 Guide Execution 2 Based on Inference
Flow
They rely on logical
Control structures direct inference and
how logic is processed. backtracking.
3 Common Types
• AND (,)
• OR (;)
• IF-THEN (->)
• IF-THEN-ELSE (-> ;)
AND Operator (,)
Purpose Example
Both conditions must be likes(john, pizza),
true for success.
likes(john, pasta).
Behavior
Succeeds only if both goals are true. Executes left to right.
OR Operator (;)
Purpose
At least one condition must be true.
Example
likes(john, pizza); likes(john, pasta).
Behavior
Succeeds if either goal is true. Tries left goal first.
IF-THEN Operator (->)
Condition
Check if condition is true.
Evaluation
Process the logical test.
Execution
Run code only if condition passes.
IF-THEN Example
Condition Operator
is_raining ->
Full Example Action
(is_raining -> take_umbrella) take_umbrella
IF-THEN-ELSE Operator (-> ;)
Condition Check
Evaluate the logical condition.
Path Selection
Choose between two execution paths.
Execution
Run either the "then" or "else" branch.
IF-THEN-ELSE Example
1 Condition
is_raining
2 If True
take_umbrella
3 If False
go_out
4 Full Example
(is_raining -> take_umbrella ; go_out)
Practical Applications
Complex Decision Trees
Build sophisticated logical flows.
Knowledge Representation
Model complex relationships and rules.
AI and Expert Systems
Create intelligent decision-making systems.
Summary of Control
Structures
Logical Foundation
Prolog uses logical rules to guide execution flow.
Basic Operators
AND (,) for multiple conditions. OR (;) for alternatives.
Conditional Logic
IF-THEN (->) adds conditions. IF-THEN-ELSE (-> ;) adds
fallbacks.