**What is Logic?**

Logic is the basis of all mathematical reasoning, and of all automated reasoning. The rules of logic specify the meaning of mathematical statements. These rules help us understand and reason with statements such as –

such that where

Which in Simple English means “There exists an integer that is not the sum of two squares”.

**Importance of Mathematical Logic**

The rules of logic give precise meaning to mathematical statements. These rules are used to distinguish between valid and invalid mathematical arguments.

Apart from its importance in understanding mathematical reasoning, logic has numerous applications in Computer Science, varying from design of digital circuits, to the construction of computer programs and verification of correctness of programs.

**Propositional Logic**

**What is a proposition?**

A proposition is the basic building block of logic. It is defined as a declarative sentence that is either True or False, but not both.

The **Truth Value** of a proposition is True(denoted as T) if it is a true statement, and False(denoted as F) if it is a false statement.

For Example,

1. The sun rises in the East and sets in the West. 2. 1 + 1 = 2 3. 'b' is a vowel.

All of the above sentences are propositions, where the first two are Valid(True) and the third one is Invalid(False).

Some sentences that do not have a truth value or may have more than one truth value are not propositions.

For Example,

1. What time is it? 2. Go out and play. 3. x + 1 = 2.

The above sentences are not propositions as the first two do not have a truth value, and the third one may be true or false.

To represent propositions, **propositional variables** are used. By Convention, these variables are represented by small alphabets such as .

The area of logic which deals with propositions is called **propositional calculus** or **propositional logic**.

It also includes producing new propositions using existing ones. Propositions constructed using one or more propositions are called **compound propositions**. The propositions are combined together using **Logical Connectives** or **Logical Operators**.

**Truth Table**

Since we need to know the truth value of a proposition in all possible scenarios, we consider all the possible combinations of the propositions which are joined together by Logical Connectives to form the given compound proposition. This compilation of all possible scenarios in a tabular format is called a **truth table**.

Most Common Logical Connectives-

**1. Negation – **If is a proposition, then the negation of is denoted by , which when translated to simple English means-

“It is not the case that ” or simply “not “.

The truth value of is the opposite of the truth value of .

The truth table of is-

Example,

The negation of “It is raining today”, is “It is not the case that is raining today” or simply “It is not raining today”.

**2. Conjunction –** For any two propositions and , their conjunction is denoted by , which means “ and “. The conjuction is True when both and are True, otherwise False.

The truth table of is-

Example,

The conjunction of the propositions – “Today is Friday” and – “It is raining today”, is “Today is Friday and it is raining today”. This proposition is true only on rainy Fridays and is false on any other rainy day or on Fridays when it does not rain.

**3. Disjunction –** For any two propositions and , their disjunction is denoted by , which means “ or “. The disjuction is True when either or is True, otherwise False.

The truth table of is-

Example,

The disjunction of the propositions – “Today is Friday” and – “It is raining today”, is “Today is Friday or it is raining today”. This proposition is true on any day that is a Friday or a rainy day(including rainy Fridays) and is false on any day other than Friday when it also does not rain.

**4. Exclusive Or –** For any two propositions and , their exclusive or is denoted by , which means “either or but not both”. The exclusive or is True when either or is True, and False when both are true or both are false.

The truth table of is-

Example,

The exclusive or of the propositions – “Today is Friday” and – “It is raining today”, is “Either today is Friday or it is raining today, but not both”. This proposition is true on any day that is a Friday or a rainy day(not including rainy Fridays) and is false on any day other than Friday when it does not rain or rainy Fridays.

**5. Implication –** For any two propositions and , the statement “if then ” is called an implication and it is denoted by .

In the implication , is called the **hypothesis** or **antecedent** or **premise** and is called the **conclusion** or **consequence**.

The implication is is also called a **conditional statement**.

The implication is false when is true and is false otherwise it is true. The truth table of is-

You might wonder that why is true when is false. This is because the implication guarantees that when and are true then the implication is true. But the implication does not guarantee anything when the premise is false. There is no way of knowing whether or not the implication is false since did not happen.

This situation is similar to the “Innocent until proven Guilty” stance, which means that the implication is considered true until proven false. Since we cannot call the implication false when is false, our only alternative is to call it true.

This follows from the **Explosion Principle** which says-

“A False statement implies anything”

Conditional statements play a very important role in mathematical reasoning, thus a variety of terminology is used to express , some of which are listed below.

"if , then " " is sufficient for " " when " "a necessary condition for is " " only if " " unless " " follows from "

Example,

“If it is Friday then it is raining today” is a proposition which is of the form . The above proposition is true if it is not Friday(premise is false) or if it is Friday and it is raining, and it is false when it is Friday but it is not raining.

**6. Biconditional or Double Implication –** For any two propositions and , the statement “ if and only if(iff) ” is called a biconditional and it is denoted by .

The statement is also called a **bi-implication**.

has the same truth value as

The implication is true when and have same truth values, and is false otherwise. The truth table of is-

Some other common ways of expressing are-

" is necessary and sufficient for " "if then , and conversely" " iff "

Example,

“It is raining today if and only if it is Friday today.” is a proposition which is of the form . The above proposition is true if it is not Friday and it is not raining or if it is Friday and it is raining, and it is false when it is not Friday or it is not raining.

**Exercise:****1) **Consider the following statements:

P: Good mobile phones are not cheap. Q: Cheap mobile phones are not good. L: P implies Q M: Q implies P<> N: P is equivalent to Q

Which one of the following about L, M, and N is CORRECT?(Gate 2014)**(A)** Only L is TRUE.**(B)** Only M is TRUE.**(C)** Only N is TRUE.**(D)** L, M and N are TRUE.

For solution, see GATE | GATE-CS-2014-(Set-3) | Question 11

**2)** Which one of the following is not equivalent to p⇔q (Gate 2015)

For solution, see GATE | GATE-CS-2015 (Set 1) | Question 65

**References-**

Propositional Logic – Wikipedia

Principle of Explosion – Wikipedia

Discrete Mathematics and its Applications, by **Kenneth H Rosen**

Read next part : Introduction to Propositional Logic – Set 2

This article is contributed by **Chirag Manwani**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the **CS Theory Course** at a student-friendly price and become industry ready.