SlideShare a Scribd company logo
1 of 17
An Overview of Prolog
1
What is Prolog
 Prolog is a powerful language for AI and non-
numerical programming
 Stands for programming in logic
 Centered around a small set of basic mechanisms,
including:
 Pattern matching
 Tree-based data structuring
 Automatic back tracking
 Well suited for problems that involves structured
objects and relations between them.
2
Chapter One: Introduction to Prolog
1. Defining relations by facts
2. Defining relations by rules
3. Recursive rules
4. How Prolog answers questions
5. Declarative and procedural meaning of programs
3
Chapter one:
1. Defining relations by facts
2. Defining relations by rules
4
1.1 Defining relations by facts
5
Example
The fact that tom is a parent of bob
parent(tom, bob).
the name of a relation argument1 argument2
Fact clause
1.1 Defining relations by facts
6
 The family tree is defined by the following Prolog
program:
parent(pam, bob)
parent(tom, bob)
parent(tom, liz)
parent(bob, ann)
parent(bob, pat)
parent(pat, jim)
This program consists of six clauses.
 Each clause declares one fact about parent
relation (particular instance of the parent relation)
* a relation is the set of all its instances
1.1 Defining relations by facts
7
When the program communicated to Prolog system,
Prolog can be posed some questions about the
parent relation:
Is bob a parent of pat?
?- parent(bob, pat)
Prolog answer: True
?- parent(liz, pat)
Prolog answer: No solutions
?- parent(tom, pat)
Prolog answer: No solutions
tom
bob
ann
pat jim
liz
pam
1.1 Defining relations by facts
8
Who is liz’s parent?
?- parent(X, liz)
Prolog answer: X = tom
Who are bob’s children?
?- parent(bob, X)
Prolog answer:
X = ann.
X = pat.
tom
bob
ann
pat jim
liz
pam
1.1 Defining relations by facts
9
Find X and Y such that X is a parent of Y.
?- parent (X, Y).
Prolog answers:
X = pam.
Y = bob.
X = tom.
Y = bob.
X = tom.
Y = liz.
X = bob.
Y = ann.
X = bob.
Y = pat.
X = pat.
Y = jim.
tom
bob
ann
pat jim
liz
pam
1.1 Defining relations by facts
10
Who is a grandparent of jim?
Who is the parent of jim? Assume that this is Y
Who is the parent of Y? Assume that this is X
?- parent(Y, jim), parent (X, Y)
Prolog answer: X = bob
Y = pat
• Changing the order of the requirements will affect the
result.
?- parent(X, jim), parent (Y, X)
Prolog answer: X = pat.
Y = bob.
?- parent(X, jim), parent (X, Y)
Prolog answer: X = pat.
Y = jim.
√
x
x
1.1 Defining relations by facts
11
Do ann and pat have a common parent?
Who is a parent X of ann?
Is X a parent of pat?
?- parent (X, ann), parent(X, pat)
Prolog answer: X = bob
tom
bob
ann
pat jim
liz
pam
1.2 Defining relations by rules
12
 We can add the information on the sex of the people
that occur in the parent relation:
female(pam).
male(tom).
male(bob).
female(liz).
female(pat).
female(ann).
male(jim).
male and female are unary relations, whereas
parent is a binary relation.
Gender(pam, female).
Gender(tom, male).
Gender(bob, male).
1.2 Defining relations by rules
13
Let us introduce the offspring relation (inverse of
parent)
offspring(liz, tom).
offspring(bob, tom).
...
The logical statement is:
For all X and Y,
Y is an offspring of X if
X is a parent of Y
offspring(Y, X) :- parent(X, Y).
Rule clause
Fact
caluses
1.2 Defining relations by rules
14
There is an important difference between facts and
rules:
 Facts is something that is always, unconditionally,
true
parent(tom, liz).
 Rules specify things that are true if some condition
is satisfied. Rules have:
 Condition part (right-hand side) = body
 Conclusion part (left-hand side) = head
offspring(Y, X) :- parent(X, Y).
head body
1.2 Defining relations by rules
15
Questions
 Is liz an offspring of tom?
?- offspring(liz, tom).
Prolog answer: True
How Prolog answer this question using the rule:
Offspring(Y, X) :- parent(X, Y).
Prolog answer: True
1.2 Defining relations by rules
16
 How to express:
 Mother relation
 Grandparent relation
 Sister relation
in Prolog?
Important Points
17

More Related Content

Viewers also liked

Introduction toprolog
Introduction toprologIntroduction toprolog
Introduction toprologFraboni Ec
 
Data miningmaximumlikelihood
Data miningmaximumlikelihoodData miningmaximumlikelihood
Data miningmaximumlikelihoodFraboni Ec
 
Access data connection
Access data connectionAccess data connection
Access data connectionFraboni Ec
 
Key exchange in crypto
Key exchange in cryptoKey exchange in crypto
Key exchange in cryptoFraboni Ec
 
Hash mac algorithms
Hash mac algorithmsHash mac algorithms
Hash mac algorithmsFraboni Ec
 
List in webpage
List in webpageList in webpage
List in webpageFraboni Ec
 
Database concepts
Database conceptsDatabase concepts
Database conceptsFraboni Ec
 
Google mock for dummies
Google mock for dummiesGoogle mock for dummies
Google mock for dummiesFraboni Ec
 
Nlp naive bayes
Nlp naive bayesNlp naive bayes
Nlp naive bayesFraboni Ec
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdataFraboni Ec
 
Exception handling
Exception handlingException handling
Exception handlingFraboni Ec
 
Data visualization
Data visualizationData visualization
Data visualizationFraboni Ec
 

Viewers also liked (20)

Introduction toprolog
Introduction toprologIntroduction toprolog
Introduction toprolog
 
Gm theory
Gm theoryGm theory
Gm theory
 
Stack queue
Stack queueStack queue
Stack queue
 
Game theory
Game theoryGame theory
Game theory
 
Big data
Big dataBig data
Big data
 
Data miningmaximumlikelihood
Data miningmaximumlikelihoodData miningmaximumlikelihood
Data miningmaximumlikelihood
 
Access data connection
Access data connectionAccess data connection
Access data connection
 
Key exchange in crypto
Key exchange in cryptoKey exchange in crypto
Key exchange in crypto
 
Hash mac algorithms
Hash mac algorithmsHash mac algorithms
Hash mac algorithms
 
List in webpage
List in webpageList in webpage
List in webpage
 
Decision tree
Decision treeDecision tree
Decision tree
 
Database concepts
Database conceptsDatabase concepts
Database concepts
 
Maven
MavenMaven
Maven
 
Google mock for dummies
Google mock for dummiesGoogle mock for dummies
Google mock for dummies
 
Prolog resume
Prolog resumeProlog resume
Prolog resume
 
Nlp naive bayes
Nlp naive bayesNlp naive bayes
Nlp naive bayes
 
Html5
Html5Html5
Html5
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Exception handling
Exception handlingException handling
Exception handling
 
Data visualization
Data visualizationData visualization
Data visualization
 

More from Fraboni Ec

Hardware multithreading
Hardware multithreadingHardware multithreading
Hardware multithreadingFraboni Ec
 
What is simultaneous multithreading
What is simultaneous multithreadingWhat is simultaneous multithreading
What is simultaneous multithreadingFraboni Ec
 
Directory based cache coherence
Directory based cache coherenceDirectory based cache coherence
Directory based cache coherenceFraboni Ec
 
Business analytics and data mining
Business analytics and data miningBusiness analytics and data mining
Business analytics and data miningFraboni Ec
 
Big picture of data mining
Big picture of data miningBig picture of data mining
Big picture of data miningFraboni Ec
 
Data mining and knowledge discovery
Data mining and knowledge discoveryData mining and knowledge discovery
Data mining and knowledge discoveryFraboni Ec
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksFraboni Ec
 
Hardware managed cache
Hardware managed cacheHardware managed cache
Hardware managed cacheFraboni Ec
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithmsFraboni Ec
 
Cobol, lisp, and python
Cobol, lisp, and pythonCobol, lisp, and python
Cobol, lisp, and pythonFraboni Ec
 
Abstract data types
Abstract data typesAbstract data types
Abstract data typesFraboni Ec
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsFraboni Ec
 
Abstraction file
Abstraction fileAbstraction file
Abstraction fileFraboni Ec
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisFraboni Ec
 
Abstract class
Abstract classAbstract class
Abstract classFraboni Ec
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaFraboni Ec
 

More from Fraboni Ec (20)

Hardware multithreading
Hardware multithreadingHardware multithreading
Hardware multithreading
 
Lisp
LispLisp
Lisp
 
What is simultaneous multithreading
What is simultaneous multithreadingWhat is simultaneous multithreading
What is simultaneous multithreading
 
Directory based cache coherence
Directory based cache coherenceDirectory based cache coherence
Directory based cache coherence
 
Business analytics and data mining
Business analytics and data miningBusiness analytics and data mining
Business analytics and data mining
 
Big picture of data mining
Big picture of data miningBig picture of data mining
Big picture of data mining
 
Data mining and knowledge discovery
Data mining and knowledge discoveryData mining and knowledge discovery
Data mining and knowledge discovery
 
Cache recap
Cache recapCache recap
Cache recap
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
Hardware managed cache
Hardware managed cacheHardware managed cache
Hardware managed cache
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
 
Cobol, lisp, and python
Cobol, lisp, and pythonCobol, lisp, and python
Cobol, lisp, and python
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Abstraction file
Abstraction fileAbstraction file
Abstraction file
 
Object model
Object modelObject model
Object model
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Abstract class
Abstract classAbstract class
Abstract class
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Inheritance
InheritanceInheritance
Inheritance
 

Recently uploaded

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Overview prolog

  • 1. An Overview of Prolog 1
  • 2. What is Prolog  Prolog is a powerful language for AI and non- numerical programming  Stands for programming in logic  Centered around a small set of basic mechanisms, including:  Pattern matching  Tree-based data structuring  Automatic back tracking  Well suited for problems that involves structured objects and relations between them. 2
  • 3. Chapter One: Introduction to Prolog 1. Defining relations by facts 2. Defining relations by rules 3. Recursive rules 4. How Prolog answers questions 5. Declarative and procedural meaning of programs 3
  • 4. Chapter one: 1. Defining relations by facts 2. Defining relations by rules 4
  • 5. 1.1 Defining relations by facts 5 Example The fact that tom is a parent of bob parent(tom, bob). the name of a relation argument1 argument2 Fact clause
  • 6. 1.1 Defining relations by facts 6  The family tree is defined by the following Prolog program: parent(pam, bob) parent(tom, bob) parent(tom, liz) parent(bob, ann) parent(bob, pat) parent(pat, jim) This program consists of six clauses.  Each clause declares one fact about parent relation (particular instance of the parent relation) * a relation is the set of all its instances
  • 7. 1.1 Defining relations by facts 7 When the program communicated to Prolog system, Prolog can be posed some questions about the parent relation: Is bob a parent of pat? ?- parent(bob, pat) Prolog answer: True ?- parent(liz, pat) Prolog answer: No solutions ?- parent(tom, pat) Prolog answer: No solutions tom bob ann pat jim liz pam
  • 8. 1.1 Defining relations by facts 8 Who is liz’s parent? ?- parent(X, liz) Prolog answer: X = tom Who are bob’s children? ?- parent(bob, X) Prolog answer: X = ann. X = pat. tom bob ann pat jim liz pam
  • 9. 1.1 Defining relations by facts 9 Find X and Y such that X is a parent of Y. ?- parent (X, Y). Prolog answers: X = pam. Y = bob. X = tom. Y = bob. X = tom. Y = liz. X = bob. Y = ann. X = bob. Y = pat. X = pat. Y = jim. tom bob ann pat jim liz pam
  • 10. 1.1 Defining relations by facts 10 Who is a grandparent of jim? Who is the parent of jim? Assume that this is Y Who is the parent of Y? Assume that this is X ?- parent(Y, jim), parent (X, Y) Prolog answer: X = bob Y = pat • Changing the order of the requirements will affect the result. ?- parent(X, jim), parent (Y, X) Prolog answer: X = pat. Y = bob. ?- parent(X, jim), parent (X, Y) Prolog answer: X = pat. Y = jim. √ x x
  • 11. 1.1 Defining relations by facts 11 Do ann and pat have a common parent? Who is a parent X of ann? Is X a parent of pat? ?- parent (X, ann), parent(X, pat) Prolog answer: X = bob tom bob ann pat jim liz pam
  • 12. 1.2 Defining relations by rules 12  We can add the information on the sex of the people that occur in the parent relation: female(pam). male(tom). male(bob). female(liz). female(pat). female(ann). male(jim). male and female are unary relations, whereas parent is a binary relation. Gender(pam, female). Gender(tom, male). Gender(bob, male).
  • 13. 1.2 Defining relations by rules 13 Let us introduce the offspring relation (inverse of parent) offspring(liz, tom). offspring(bob, tom). ... The logical statement is: For all X and Y, Y is an offspring of X if X is a parent of Y offspring(Y, X) :- parent(X, Y). Rule clause Fact caluses
  • 14. 1.2 Defining relations by rules 14 There is an important difference between facts and rules:  Facts is something that is always, unconditionally, true parent(tom, liz).  Rules specify things that are true if some condition is satisfied. Rules have:  Condition part (right-hand side) = body  Conclusion part (left-hand side) = head offspring(Y, X) :- parent(X, Y). head body
  • 15. 1.2 Defining relations by rules 15 Questions  Is liz an offspring of tom? ?- offspring(liz, tom). Prolog answer: True How Prolog answer this question using the rule: Offspring(Y, X) :- parent(X, Y). Prolog answer: True
  • 16. 1.2 Defining relations by rules 16  How to express:  Mother relation  Grandparent relation  Sister relation in Prolog?

Editor's Notes

  1. offspring(bob, pam). offspring(ann, bob). offspring(pat, bob). offspring(jim, pat).