Proofs: FGLM algorithm
These are the human proofs of FGLM algorithm, at full length.
FGLM returns the reduced Gröbner basis for the new order and terminates full
This proof shows: correctness, termination.
Let be a field, , and a zero-dimensional ideal with reduced Gröbner basis for the monomial order . Let be the standard monomials of , , and the coordinates of in the basis . Write for the target order , for leading monomials with respect to , for the leading monomial ideal, and for the set of monomials not in .
Lemma 1 (the map ). is -linear, , and , where column of is for .
Proof. Since is a Gröbner basis, and is the unique combination of congruent to modulo (CLO Chapter 2, Section 6). Uniqueness gives linearity, and iff . If , then modulo , and the right side is a combination of , so it is . In coordinates this is .
Lemma 2 (leading monomials by linear algebra). For a monomial , if and only if is a -linear combination of .
Proof. If , then for some , because is closed under multiplication by monomials (). Reduce by a Gröbner basis of for : the result (after scaling) lies in , has , and every in its tail is in and smaller than . Applying gives . Conversely, if with , , then and , so .
Lemma 3 (the vectors of are independent). The vectors , , are linearly independent. In particular .
Proof. A nontrivial relation gives , a nonzero polynomial whose leading monomial is in , a contradiction.
Lemma 4 (order of processing). The monomials removed from at line L4 are strictly increasing for , and each monomial is removed at most once.
Proof. When is removed, it is the smallest element of . Line L8 inserts only (a monomial order satisfies ). So every element of after the step is greater than , and the next removed monomial is greater than . A monomial cannot be inserted again after its removal, because the insertions after that point are greater than it; the implementation also ignores duplicates in .
Lemma 5 (invariant). When a monomial reaches line L6 (it was not skipped at line L5), is exactly listed in increasing order, the stored vector of each is , and consists of one polynomial for each minimal generator of , with , , and .
Proof. By induction on the steps. Initially and .
First, every element of is eventually removed from and is not skipped at line L5, as long as all smaller elements of are put into . Indeed, is closed under division (if , no divisor of is in ). Hence if lies in , then with : for any works, and for a minimal generator every proper divisor is in . Since , by induction is put into , and line L8 then inserts into . The loop runs until is empty, so is removed. It is not skipped at line L5: every with lies in , and a monomial of is divisible by no element of . A minimal generator is divisible by no other minimal generator, and by Lemma 4 it is not equal to an earlier one.
Second, every other monomial that is removed is skipped. Such an is in but is not minimal, so it is divisible by some with , hence (a proper divisor is smaller in a monomial order). By Lemma 4 and the first part, was processed before and contributed with at line L7 (shown below), so is skipped at line L5.
Now take a monomial that reaches line L6, so . By Lemma 4 and the two parts above, every with was processed earlier and not skipped, and by the induction hypothesis it was put into , in increasing order; the elements of are in by the step below. So . Line L6 computes by Lemma 1, where is the element that inserted (or if ).
- If , Lemma 2 says that is a combination of , so line L7 appends . It lies in and has , because every . Here is a minimal generator.
- If , Lemma 3 says that is independent of , so line L8 appends to with its vector .
The echelon form at line L7 decides membership in the span exactly: it is Gaussian elimination over , and it records the combination of the original vectors . This keeps the invariant.
Theorem. FGLM terminates, and it returns the reduced Gröbner basis of for .
Proof. Termination: each element of inserts at most monomials into , and by Lemma 3, so at most monomials ever enter . Each iteration removes one, so the loop stops. Lines L1 and L6 terminate because is finite, which holds since is zero-dimensional.
When the loop stops, the first part of the proof of Lemma 5 shows that every minimal generator of has been processed, so . Each lies in , has leading monomial and leading coefficient 1, and its other monomials lie in , so they are divisible by no leading monomial of . The leading monomials of generate , so is a Gröbner basis of for . It is minimal, since no divides another, and reduced, since no tail monomial is in . The reduced Gröbner basis is unique (CLO Chapter 2, Section 7), so is that basis.