annihilator duality theorem
The annihilator duality theorem says that taking the annihilator twice gets you back where you started: for a subspace U of a finite-dimensional V, (U^0)^0 = U, once you read the second annihilator inside the canonical identification V = (V*)*. Annihilating, then annihilating again, is the identity on subspaces.
It rests on two facts. First the dimension count dim U + dim U^0 = dim V, applied twice, gives dim (U^0)^0 = dim U. Second, U is always contained in (U^0)^0 (anything in U is killed by everything that kills U). Equal dimensions plus one containment forces equality, so (U^0)^0 = U exactly.
Read structurally, the map U -> U^0 is an inclusion-reversing bijection between subspaces of V and subspaces of V*, and it is its own inverse. If U sits inside W then W^0 sits inside U^0; the correspondence flips containments and is perfect in both directions. This is a Galois-connection flavor: a pair of order-reversing maps that compose to the identity.
Practically it means no subspace information is lost in the dual world: you can specify a subspace either by listing vectors that span it or by listing the constraints (functionals) that cut it out, and the double-annihilator theorem guarantees the two descriptions are equivalent and recoverable from each other. That equivalence is the backbone of moving between span descriptions and equation descriptions of subspaces.
Annihilating twice returns the original subspace; the correspondence reverses inclusions.
With an inner product this becomes the familiar (U-perp)-perp = U for orthogonal complements. The annihilator version is more basic: it needs no geometry, only the pairing, and it is the order-reversing dictionary between subspaces of V and of V*.