Armstrong's axioms are a set of axioms (or, more precisely, inference rules) used to infer all the functional dependencies on a relational database. They were developed by William W. Armstrong in his 1974 paper. The axioms are sound in generating only functional dependencies in the closure of a set of functional dependencies (denoted as                               F                      +                                  ) when applied to that set (denoted as                     F                ). They are also complete in that repeated application of these rules will generate all functional dependencies in the closure                               F                      +                                  .
More formally, let                     ⟨        R        (        U        )        ,        F        ⟩                 denote a relational scheme over the set of attributes                     U                 with a set of functional dependencies                     F                . We say that a functional dependency                     f                 is logically implied by                     F                ,and denote it with                     F        ⊨        f                 if and only if for every instance                     r                 of                     R                 that satisfies the functional dependencies in                     F                , r also satisfies                     f                . We denote by                               F                      +                                   the set of all functional dependencies that are logically implied by                     F                .
Furthermore, with respect to a set of inference rules                     A                , we say that a functional dependency                     f                 is derivable from the functional dependencies in                     F                 by the set of inference rules                     A                , and we denote it by                     F                  ⊢                      A                          f                 if and only if                     f                 is obtainable by means of repeatedly applying the inference rules in                     A                 to functional dependencies in                     F                . We denote by                               F                      A                                ∗                                   the set of all functional dependencies that are derivable from                     F                 by inference rules in                     A                .
Then, a set of inference rules                     A                 is sound if and only if the following holds:
                              F                      A                                ∗                          ⊆                  F                      +                                  
that is to say, we cannot derive by means of                     A                 functional dependencies that are not logically implied by                     F                . The set of inference rules                     A                 is said to be complete if the following holds:
                              F                      +                          ⊆                  F                      A                                ∗                                  
more simply put, we are able to derive by                     A                 all the functional dependencies that are logically implied by                     F                .
Let                     R        (        U        )                 be a relation scheme over the set of attributes                     U                . Henceforth we will denote by letters                     X                ,                     Y                ,                     Z                 any subset of                     U                 and, for short, the union of two sets of attributes                     X                 and                     Y                 by                     X        Y                 instead of the usual                     X        ∪        Y                ; this notation is rather standard in database theory when dealing with sets of attributes.
If                     Y        ⊆        X                 then                     X        →        Y                
If                     X        →        Y                , then                     X        Z        →        Y        Z                 for any                     Z                
If                     X        →        Y                 and                     Y        →        Z                , then                     X        →        Z                
These rules can be derived from the above axioms.
If                     X        →        Y                 and                     X        →        Z                 then                     X        →        Y        Z                
If                     X        →        Y        Z                 then                     X        →        Y                 and                     X        →        Z                
If                     X        →        Y                 and                     Y        Z        →        W                 then                     X        Z        →        W                
Given a set of functional dependencies                     F                , an Armstrong relation is a relation which satisfies all the functional dependencies in the closure                               F                      +                                   and only those dependencies. Unfortunately, the minimum-size Armstrong relation for a given set of dependencies can have a size which is an exponential function of the number of attributes in the dependencies considered.