0% found this document useful (0 votes)
245 views10 pages

First-Order Logic in Artificial Intelligence - Javatpoint

This document provides an overview of first-order logic in artificial intelligence. It explains that first-order logic extends propositional logic by allowing the representation of objects, relations, and functions. The syntax and basic elements of first-order logic are defined, including constants, variables, predicates, functions, and quantifiers. Examples are given to demonstrate how first-order logic can be used to represent complex statements involving quantification.

Uploaded by

Arnab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
245 views10 pages

First-Order Logic in Artificial Intelligence - Javatpoint

This document provides an overview of first-order logic in artificial intelligence. It explains that first-order logic extends propositional logic by allowing the representation of objects, relations, and functions. The syntax and basic elements of first-order logic are defined, including constants, variables, predicates, functions, and quantifiers. Examples are given to demonstrate how first-order logic can be used to represent complex statements involving quantification.

Uploaded by

Arnab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

First-Order Logic in Artificial

intelligence
In the topic of Propositional logic, we have seen that how to represent
statements using propositional logic. But unfortunately, in propositional
logic, we can only represent the facts, which are either true or false. PL is not
sufficient to represent the complex sentences or natural language
statements. The propositional logic has very limited expressive power.
Consider the following sentence, which we cannot represent using PL logic.

"Some humans are intelligent", or

"Sachin likes cricket."

To represent the above statements, PL logic is not sufficient, so we required


some more powerful logic, such as first-order logic.

First-Order logic:
First-order logic is another way of knowledge representation in
artificial intelligence. It is an extension to propositional logic.

FOL is sufficiently expressive to represent the natural language


statements in a concise way.

First-order logic is also known as Predicate logic or First-order


predicate logic. First-order logic is a powerful language that develops
information about the objects in a more easy way and can also
express the relationship between those objects.

First-order logic (like natural language) does not only assume that
the world contains facts like propositional logic but also assumes
the following things in the world:

Objects: A, B, people, numbers, colors, wars, theories,


squares, pits, wumpus, ......

Relations: It can be unary relation such as: red, round, is


adjacent, or n-any relation such as: the sister of, brother of,
has color, comes between

Function: Father of, best friend, third inning of, end of, ......
As a natural language, first-order logic also has two main parts:

a. Syntax

b. Semantics

Syntax of First-Order logic:


The syntax of FOL determines which collection of symbols is a logical
expression in first-order logic. The basic syntactic elements of first-order
logic are symbols. We write statements in short-hand notation in FOL.

Basic Elements of First-order logic:

Following are the basic elements of FOL syntax:

Constant 1, 2, A, John, Mumbai, cat,....

Variables x, y, z, a, b,....

Predicates Brother, Father, >,....

Function sqrt, LeftLegOf, ....

Connectives ∧, ∨, ¬, ⇒, ⇔

Equality ==

Quantifier ∀, ∃

Atomic sentences:

Atomic sentences are the most basic sentences of first-order logic.


These sentences are formed from a predicate symbol followed by a
parenthesis with a sequence of terms.

We can represent atomic sentences as Predicate (term1, term2,


......, term n).

Example: Ravi and Ajay are brothers: => Brothers(Ravi, Ajay).


                Chinky is a cat: => cat (Chinky).

Complex Sentences:
Complex sentences are made by combining atomic sentences using
connectives.

First-order logic statements can be divided into two parts:

Subject: Subject is the main part of the statement.

Predicate: A predicate can be defined as a relation, which binds two


atoms together in a statement.

Consider the statement: "x is an integer.", it consists of two parts, the first
part x is the subject of the statement and second part "is an integer," is
known as a predicate.

Quantifiers in First-order logic:


A quantifier is a language element which generates quantification,
and quantification specifies the quantity of specimen in the universe
of discourse.

These are the symbols that permit to determine or identify the range
and scope of the variable in the logical expression. There are two
types of quantifier:

a. Universal Quantifier, (for all, everyone, everything)

b. Existential quantifier, (for some, at least one).

Universal Quantifier:

Universal quantifier is a symbol of logical representation, which specifies


that the statement within its range is true for everything or every instance of
a particular thing.

The Universal quantifier is represented by a symbol ∀, which resembles an


inverted A.
Note: In universal quantifier we use implication "→".

If x is a variable, then ∀x is read as:

For all x

For each x

For every x.

Example:

All man drink coffee.

Let a variable x which refers to a cat so all x can be represented in UOD as


below:

∀x man(x) → drink (x, coffee).

It will be read as: There are all x where x is a man who drink coffee.

Existential Quantifier:
Existential quantifiers are the type of quantifiers, which express that the
statement within its scope is true for at least one instance of something.
It is denoted by the logical operator ∃, which resembles as inverted E. When
it is used with a predicate variable then it is called as an existential
quantifier.

Note: In Existential quantifier we always use AND or


Conjunction symbol (∧).

If x is a variable, then existential quantifier will be ∃x or ∃(x). And it will be


read as:

There exists a 'x.'

For some 'x.'

For at least one 'x.'

Example:

Some boys are intelligent.

∃x: boys(x) ∧ intelligent(x)

It will be read as: There are some x where x is a boy who is intelligent.

Points to remember:
The main connective for universal quantifier ∀ is implication →.
The main connective for existential quantifier ∃ is and ∧.

Properties of Quantifiers:
In universal quantifier, ∀x∀y is similar to ∀y∀x.

In Existential quantifier, ∃x∃y is similar to ∃y∃x.

∃x∀y is not similar to ∀y∃x.

Some Examples of FOL using quantifier:

1. All birds fly.


In this question the predicate is "fly(bird)."
And since there are all birds who fly so it will be represented as follows.
              ∀x bird(x) →fly(x).

2. Every man respects his parent.


In this question, the predicate is "respect(x, y)," where x=man, and y= parent.
Since there is every man so will use ∀, and it will be represented as follows:
              ∀x man(x) → respects (x, parent).

3. Some boys play cricket.


In this question, the predicate is "play(x, y)," where x= boys, and y= game.
Since there are some boys so we will use ∃, and it will be represented as:
              ∃x boys(x) → play(x, cricket).

4. Not all students like both Mathematics and Science.


In this question, the predicate is "like(x, y)," where x= student, and y=
subject.
Since there are not all students, so we will use ∀ with negation, so following
representation for this:
              ¬∀ (x) [ student(x) → like(x, Mathematics) ∧ like(x, Science)].

5. Only one student failed in Mathematics.


In this question, the predicate is "failed(x, y)," where x= student, and y=
subject.
Since there is only one student who failed in Mathematics, so we will use
following representation for this:
              ∃(x) [ student(x) → failed (x, Mathematics) ∧∀ (y) [¬(x==y) ∧
student(y) → ¬failed (x, Mathematics)].
Free and Bound Variables:
The quantifiers interact with variables which appear in a suitable way. There
are two types of variables in First-order logic which are given below:

Free Variable: A variable is said to be a free variable in a formula if it occurs


outside the scope of the quantifier.

          Example: ∀x ∃(y)[P (x, y, z)], where z is a free variable.

Bound Variable: A variable is said to be a bound variable in a formula if it


occurs within the scope of the quantifier.

          Example: ∀x [A (x) B( y)], here x and y are the bound variables.

← Prev Next →

Youtube For Videos Join Our Youtube Channel:


Join Now

Help Others, Please Share

Learn Latest Tutorials

SoapUI RPA tutorial manual


tutorial testing tutorial
RPA
SoapUI Manual T.

cucumber Appium postgresql


tutorial tutorial tutorial

Cucumber Appium PostgreSQL


Apache Solr MongoDB Gimp Tutorial
Tutorial tutorial
Gimp
Solr MongoDB

Verilog Teradata PhoneGap


Tutorial Tutorial Tutorial

Verilog Teradata PhoneGap

Preparation

Aptitude Logical Verbal Ability


Reasoning
Aptitude Verbal A.
Reasoning

Interview Company
Questions Interview
Questions
Interview
Company

Trending Technologies

Artificial AWS Tutorial Selenium


Intelligence tutorial
Tutorial AWS
Selenium
AI

Cloud tutorial Hadoop ReactJS


tutorial Tutorial
Cloud
Hadoop ReactJS
Data Science Angular 7 Blockchain
Tutorial Tutorial Tutorial

D. Science Angular 7 Blockchain

Git Tutorial Machine DevOps


Learning Tutorial
Git Tutorial
DevOps
ML

B.Tech / MCA

DBMS Data DAA tutorial


tutorial Structures
tutorial DAA
DBMS
DS

Operating Computer Compiler


System tutorial Network tutorial Design tutorial

OS C. Network Compiler D.

Computer Discrete Ethical


Organization Mathematics Hacking
and Tutorial Tutorial
Architecture
D. Math. E. Hacking
COA

Computer Software html tutorial


Graphics Engineering
Tutorial Tutorial Web Tech.

C. Graphics Software E.

Cyber Automata C Language


Security tutorial Tutorial tutorial

Cyber Sec. Automata C


C++ tutorial Java tutorial .Net
Framework
C++ Java tutorial

.Net

Python List of Control


tutorial Programs Systems
tutorial
Python Programs
Control S.

Data Mining
Tutorial

Data Mining

You might also like