## Propositional logic

## What is propositional logic?

Propositional logic, also known as propositional logic or propositional logic, is an **Subfield of formal logic**, which deals with the **Analysis and manipulation of statements** busy. Statements are in logic **defined as simple, fully determined sentences**which can be either true or false, but not both at the same time. Propositional logic is an important concept in many areas of mathematics, computer science, philosophy and science, and forms the basis for the analysis and construction of more complex logical systems.

Propositional logic uses a **Inductive definition**to define statements. A statement is either an atom or a complex statement formed from other statements and links of junctors. Atoms are the simplest statements that cannot be further broken down into smaller components. Examples of atoms can be: "The sun is shining", "It's raining", "1 + 1 = 2", etc.

## Concepts of propositional logic

In propositional logic, there are certain concepts or foundations that enable the understanding and application of this logical discipline. Here are some of the most important concepts in propositional logic:

**Statements and links**: In propositional logic, all statements are based on the idea of propositions that can be true or false. Statements can be linked together with various logical operations, such as conjunction (∧) and disjunction (∨), to form complex expressions.

**Variables and Junctors**In propositional logic, variables can be used to introduce placeholders for statements. Variables are usually represented by letters or symbols and can take on different truth values. Junctors are logical links used to connect or manipulate statements, such as conjunction (∧), disjunction (∨), negation (¬), implication (→) and equivalence (↔).

**Tautologies**: Tautologies are statements that are always true regardless of the truth values of the variables involved. Tautologies play an important role in propositional logic, as they serve as the basis for logical proofs and argumentation. Tautologies can be identified with the help of truth tables or with the help of logical laws, such as the laws of propositional logic.

**Truth table**: A truth table is a tabular representation of all possible combinations of truth values for the statements involved in a logical expression. Truth tables are often used to calculate and analyse the truth values of complex propositional logic expressions and to check the validity of logical laws or tautologies.

## Laws of propositional logic

The laws of propositional logic, also known as logical laws or propositional logic laws, are rules and principles that describe the properties and behaviour of propositions and logical expressions in propositional logic.

**Identity laws**:

- Identity law of conjunction: A statement that is linked to itself and the logical operator "AND" (conjunction) remains unchanged. Example: A ∧ Truth = A
- Identity law of disjunction: A statement that is linked to itself and the logical operator "OR" (disjunction) remains unchanged. Example: A ∨ falsehood = A

**Domination laws**:

- Domination law of conjunction: If a statement is linked with "truth" (true) and linked with "AND" (conjunction), the original statement results. Example: A ∧ Truth = A
- Domination law of disjunction: If a statement is linked with "falsehood" (False) and linked with "OR" (disjunction), the original statement results. Example: A ∨ False = A

**Negation laws**:

- Law of double negation: The double negation of a statement cancels itself out and results in the original statement. Example: ¬(¬A) = A
- Law of negation of conjunction: The negation of a conjunctive statement is equivalent to the disjunctive negation of the individual statements. Example: ¬(A ∧ B) = (¬A) ∨ (¬B)
- Law of negation of disjunction: The negation of a disjunctive statement is equivalent to the conjunctive negation of the individual statements. Example: ¬(A ∨ B) = (¬A) ∧ (¬B)

**De Morgan's Laws**:

- De Morgan's Law of Negation of Conjunction: The negation of a conjunctive statement is equivalent to the disjunctive negation of the individual statements with an inverted operator. Example: ¬(A ∧ B) = (¬A) ∨ (¬B)
- De Morgan's Law of Negation of Disjunction: The negation of a disjunctive statement is equivalent to the conjunctive negation of the individual statements with an inverted operator. Example: ¬(A ∨ B) = (¬A) ∧ (¬B)

## Propositional logic in computer science

Propositional logic plays a **central role in computer science**, especially in areas such as the formal verification of software and hardware, circuit design, the Artificial Intelligence (AI)knowledge representation and the Database theory.

In the **Formal verification of software and hardware** propositional logic is used to check the correctness of programmes and circuits. Here, logical formulae are used to specify the desired properties of the system and it is checked whether these properties are fulfilled.

At **Circuit design** propositional logic and Boolean algebra are used to describe the operation of digital circuits. Circuits are often modelled as a combination of logical gates that implement the basic operations of propositional logic such as conjunction, disjunction and negation. Propositional logic expressions can be used to analyse, optimise and verify the operation of circuits.

In the **Artificial intelligence** the propositional logic plays a role in the Knowledge modelling and automatic reasoning. Knowledge-based systems often use propositional logic to represent knowledge in the form of logical rules that can be used to automatically draw conclusions and make decisions. Propositional logic is also often used in knowledge representation, i.e. the formulation of knowledge in AI systems.

The propositional logic is also used in the **Database theory** is used to formulate and evaluate complex queries and requests from databases. Logical expressions can be used to define complex conditions that must be fulfilled in order to retrieve certain data from the database.

In practice, special notations and tools are often used in computer science to efficiently model, analyse and process propositional logic. These include, for example, logical programming languages such as Prolog, model checking tools for hardware and software verification, and database query languages such as SQL.