Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Number System
  • Algebra
  • Set Theory
  • Geometry
  • Linear Algebra
  • Trigonometry
  • Logarithms
  • Statistics
  • Probability
  • Calculus
  • Discrete Mathematics
  • Engineering Math Practice Problems
Open In App
Next Article:
Normal and Principle Forms
Next article icon

Normal and Principle Forms

Last Updated : 02 Sep, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Normal Forms are standardized formats for expressing logical formulas. They play a crucial role in simplifying and analyzing logical expressions, making it easier to apply logical reasoning, automated theorem proving, and other computational processes. Principal Forms are specific types of normal forms that are derived under certain conditions and constraints.

What are Normal Forms?

Normal Forms are structured representations of logical expressions where the formula is broken down into a combination of literals (variables or their negations) connected by logical operators such as AND, OR, and NOT. These forms help in the simplification and standardization of logical statements.

Key Concepts:

  • Literal: A variable or its negation (e.g., 𝐴 or ¬𝐴).
  • Clause: A disjunction of literals (e.g., 𝐴∨¬𝐵).
  • Normal Form: A logical formula that follows a specific structure, such as CNF or DNF.

Types of Normal Forms

Disjunctive Normal Forms (DNF)

A formula which is equivalent to a given formula and which consists of a sum of elementary products is called a disjunctive normal form of given formula.

Example : (P ∧ ~ Q) ∨ (Q ∧ R) ∨ (~ P ∧ Q ∧~ R)  

The DNF of formula is not unique.

Conjunctive Normal Form (CNF)

A formula which is equivalent to a given formula and which consists of a product of elementary sums is called a conjunctive normal form of given formula.

Example : (P~ ∨ Q) ∧ (Q ∨ R) ∧ (~ P ∨ Q ∨ ~ R)  

The CNF of formula is not unique.

If every elementary sum in CNF is tautology, then given formula is also tautology.

Principle Disjunctive Normal Form (PDNF)

An equivalent formula consisting of disjunctions of minterms only is called the principle disjunctive normal form of the formula. It is also known as sum-of-products canonical form.

Example : (P ∧ ~ Q ∧ ~ R) ∨ (P ∧ ~ Q ∧ R) ∨ (~ P ∧ ~ Q ∧ ~ R)  

The minterm consists of conjunctions in which each statement variable or its negation, but not both, appears only once.

The minterms are written down by including the variable if its truth value is T and its negation if its truth value is F.

Principle Conjunctive Normal Form (PCNF)

An equivalent formula consisting of conjunctions of maxterms only is called the principle conjunctive normal form of the formula. It is also known as product-of-sums canonical form.

Example : (P ∨ ~ Q ∨ ~ R) ∧ (P ∨ ~ Q ∨ R) ∧ (~ P ∨ ~ Q ∨ ~ R)  

The maxterm consists of disjunctions in which each variable or its negation, but not both, appears only once.

The dual of a minterm is called a maxterm.

Each of the maxterm has the truth value F for exactly one combination of the truth values of the variables.

The maxterms are written down by including the variable if its truth value is F and its negation if its truth value is T.

What are Principal Forms?

Principal forms are specialized representations that emphasize fundamental characteristics or properties of mathematical entities or systems focusing on their intrinsic features rather than standardization for simplification.. They are designed to highlight intrinsic features that are crucial for understanding behavior, stability, or performance in engineering applications.

Types of Principal Forms

Quine-McCluskey Canonical Form

The Quine-McCluskey Canonical Form (QMC) minimizes Boolean functions by systematically combining minterms.

  • Structure: f(x,y,z)=Σ(1,2,4,7)
  • Purpose: QMC is crucial in digital logic design for optimizing circuits, simplifying truth tables, and reducing the complexity of Boolean expressions.

Shannon Canonical Form

The Shannon Canonical Form represents Boolean functions using AND, OR, and NOT operations in a standard format.

  • Structure: f(x,y,z)=(¬x∧¬y)∨(x∧z)
  • Purpose: Shannon Canonical Form aids in logic synthesis, automated reasoning, and theorem proving, providing insights into logical structure and behavior.

Properties of Normal and Principal Forms

1. Logical Equivalence:

  • Definition: Normal forms are logically equivalent to the original expression, meaning they produce the same truth values under all possible interpretations.
  • Importance: Ensures that the logical meaning is preserved during the transformation.

2. Minimality:

  • Definition: Principal normal forms aim to use the minimal number of literals and clauses necessary to represent the logical expression.
  • Importance: Reduces complexity and improves efficiency in computational processes.

3. Canonical Representation:

  • Definition: Principal forms provide a unique representation for a logical expression, which is especially useful in automated reasoning and digital logic design.
  • Importance: Ensures consistency in logical analysis and processing.

4. Simplification:

  • Definition: Normal forms simplify complex logical expressions, making them easier to manipulate and analyze.
  • Importance: Facilitates logical reasoning, problem-solving, and optimization.

Conversion to Normal Forms

1. Conversion to CNF:

Steps:

1. Eliminate Bi-conditional and Implication: Convert any bi-conditional (↔) and implication (→) into their logical equivalents.

  • Example: A→B becomes ¬A∨B.

2. Move Negations Inward: Apply De Morgan’s laws to push negations inside and eliminate double negations.

  • Example: ¬(A∧B) becomes ¬A∨¬B.

3. Distribute OR over AND: Apply distributive laws to achieve a conjunction of disjunctions.

  • Example: (A∨(B∧C)) becomes (A∨B)∧(A∨C).
Example: Convert (A→B)∧¬C to CNF: (¬A∨B)∧¬C

2. Conversion to DNF:

Steps:

1. Eliminate Bi-conditional and Implication: Similar to CNF conversion, start by eliminating any bi-conditional and implication.

  • Example: A→B becomes ¬A∨B.

2. Move Negations Inward: Apply De Morgan’s laws to push negations inside.

  • Example: ¬(A∧B) becomes ¬A∨¬B.

3. Distribute AND over OR: Apply distributive laws to achieve a disjunction of conjunctions.

  • Example: (A∧(B∨C)) becomes (A∧B)∨(A∧C).
Example: Convert (A∧¬B)∨(C∧D) to DNF: (A∧¬B)∨(C∧D)

3. Conversion to Principal Forms:

Steps:

  1. Simplify the Formula: Reduce the expression by combining like terms and eliminating redundancies.
  2. Apply CNF or DNF Conversion: Convert the simplified formula to CNF or DNF.
  3. Ensure Minimality: Check that the resulting form is minimal in terms of the number of literals and clauses.

Example:

For the expression A∧(A∨B), the Principal Conjunctive Normal Form is A.

Solved Examples on Normal and Principal Forms

Example 1: Convert the expression (A∨B)∧(¬A∨C)(A ∨ B) ∧ (¬A ∨ C)(A∨B)∧(¬A∨C) to Disjunctive Normal Form (DNF)

Solution:

Distribute the AND over OR:

(A∨B)∧(¬A∨C)=(A∧¬A)∨(A∧C)∨(B∧¬A)∨(B∧C)

Simplify:

(A∧C)∨(B∧¬A)∨(B∧C)

Final DNF:

(A∧C)∨(B∧¬A)∨(B∧C)

Example 2: Convert the expression (A∧B)∨(¬A∧C) to Conjunctive Normal Form (CNF).

Solution:

Apply distributive laws to distribute OR over AND:

(A∧B)∨(¬A∧C)=(A∨¬A)∧(A∨C)∧(B∨¬A)∧(B∨C)

Simplify using the tautology

(A∨C)∧(B∨¬A)∧(B∨C)

Final CNF:

(A∨C)∧(B∨¬A)∧(B∨C)

Example 3: Find the Principal Disjunctive Normal Form (PDNF) for the expression A∧¬B∨B∧¬C.

Solution:

Identify the minterms:

¬A∧B∧¬C

Combine them:

(A∧¬B∧C)∨(¬A∧B∧¬C)

Final PDNF:

(A∧¬B∧C)∨(¬A∧B∧¬C)

Example 4: Find the Principal Conjunctive Normal Form (PCNF) for the expression

A∨¬B∨¬C.

Solution:

Identify the maxterms:

1)¬A∨B∨C

2)A∨B∨¬C

Combine them:

(¬A∨B∨C)∧(A∨B∨¬C)

Final PCNF:

(¬A∨B∨C)∧(A∨B∨¬C)

Example 5: Simplify the Boolean function

f(x,y,z)=x∧y∨¬x∧z using the Shannon Expansion Theorem.

Solution:

Apply the theorem to break down the expression:

f(x,y,z)=x∧(y∨z)

Final simplified form:

f(x,y,z)=x∧(y∨z)

Practice Problems on Normal and Principle Forms

Problem 1. Convert the expression (A∧B)∨(¬A∧¬B) to DNF.

Problem 2. Convert the expression (A∨B)∧(¬A∨¬B) to CNF.

Problem 3. Find the PDNF for the expression A∧(¬B∨C).

Problem 4. Find the PCNF for the expression ¬A∨(B∧¬C).

Problem 5. Simplify the Boolean function f(x,y)=x∨(y∧¬x) using the Shannon Expansion Theorem.

Problem 6. Convert (¬A∨B)∧(C∨¬D) to DNF.

Problem 7. Find the PDNF for A∧B∨¬A∧¬B∨C.

Problem 8. Convert the expression (¬A∧B)∨(A∧¬C) to CNF.

Problem 9. Simplify f(x,y,z)=(x∨¬y)∧(¬x∨z) using the Quine-McCluskey method.

Problem 10. Find the PCNF for the expression (A∨¬B)∧(¬C∨D).

Conclusion

Understanding the normal and principal forms of equations is fundamental in various fields of mathematics and engineering. These forms simplify complex equations, making them more accessible for analysis and application. The normal form provides a standard structure, aiding in the consistency and clarity of mathematical expressions. On the other hand, the principal form reveals the intrinsic properties of equations, facilitating deeper insights into their behavior. Mastering these forms enhances problem-solving skills and opens doors to advanced mathematical modeling and engineering design, ultimately contributing to more efficient and effective solutions in practical applications.


Next Article
Normal and Principle Forms

P

prernap1909
Improve
Article Tags :
  • Engineering Mathematics
  • GATE CS

Similar Reads

    Third Normal Form (3NF)
    Normalization in database design is an important process for organizing data to reduce redundancy, maintain data integrity and improve accuracy. The Third Normal Form (3NF) builds on the First (1NF) and Second (2NF) Normal Forms. Achieving 3NF ensures that the database structure is free of transitiv
    6 min read
    Second Normal Form (2NF)
    Second Normal Form (2NF) is based on the concept of fully functional dependency. It is a way to organize a database table so that it reduces redundancy and ensures data consistency. Fully Functional Dependency means a non-key attribute depends on the entire primary key, not just part of it.For a tab
    5 min read
    Normal Forms in DBMS
    In the world of database management, Normal Forms are important for ensuring that data is structured logically, reducing redundancy, and maintaining data integrity. When working with databases, especially relational databases, it is critical to follow normalization techniques that help to eliminate
    7 min read
    How to find the highest normal form of a relation
    Normalization is the process of structuring data in a database by creating tables and defining relationships between them. This ensures data consistency, protection, and improves the database's efficiency and flexibility. Typically, every table in a relational database is assumed to be in the first
    5 min read
    First Normal Form (1NF)
    In relational database design, normalization is the process of organizing data to reduce redundancy and improve data integrity. First Normal Form (1NF) is the first step in this process. It ensures that the structure of a database table is organized in a way that makes it easier to manage and query.
    4 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences