Prerequisite – Armstrong’s Axioms in Functional Dependency in DBMS

Armstrong mentioned that rules 1 through 3 have completeness along with soundness. Armstrong axioms are sound as they do not generate any incorrect Functional Dependencies and it allows us to generate the F^{+} closure.

**The proof of Soundness –**

Set of functional dependencies that can be derived with logic from a given set of functional dependencies (F_{closure}) and the set of functional dependencies that can be inferred from Armstrong’s Axioms (F_{armstrong}) are same. In terms of sets, if we want to show equality, then we mention that one is a proper subset of the other. Hence, we need to prove that,

Fis a proper subset of_{armstrong }Ffor soundness._{closure }

This means that all things derived from F after applying Armstrong’s Axioms are correct functional dependencies and this property is called Soundness.

**Consideration for Soundness –**

has been derived from F using Armstrong’s Axioms after m number of steps.

In each step we would apply the rules of reflexivity, augmentation and transitivity.

(If we derive from Axioms which are only 3 in number, the repeated application of them would also give similar results.)

**Rule of Reflexivity –**

This rule states that if E is a proper subset of G, then G implies E (). This rule always results in correct Functional Dependencies because it is a trivial functional dependency.

**Rrule of Augmentation –**

This rule states that for , if we add Z on both sides, then we would get , which would be a correct functional dependency.

If t_{a} and t_{b} have the same corresponding values in G and Z (GZ),

It would mean that they have same corresponding value for G,

which would mean that they have same corresponding value for E, since G implies E,

it would also mean that they correspond to E and Z (EZ).

**Rule of Transitivity –**

This rule states that if , then G determines Z ()

If t_{a} and t_{b} have the same corresponding values in G

which would mean that they have same corresponding value for E, since G implies E holds,

it would also mean that they correspond to E, since E implies Z holds.

So, applying these 3 rules will always give rise to correct functional dependencies (even if we apply them m number of times).

Hence proved.

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.

## Recommended Posts:

- Proving Correctness of Armstrong's Axioms
- Armstrong's Axioms in Functional Dependency in DBMS
- Performing DataBase Operations in XAMPP
- Eventual vs Strong Consistency in Distributed Databases
- Difference between Open Source Database and Commercial Database
- Difference between MapR platform and Cloudera platform
- Difference between Cypress and Selenium
- Differences between Cassandra and Elasticsearch
- Overview of Apache Spark
- Difference between Traditional Data Center and Software Defined Data Center
- Constraints on Generalization
- Difference between Shared Lock and Exclusive Lock
- Difference between POM and PageFactory
- Difference between Selenium Webdriver and Protractor

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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.