Theorems · Theorem · commutative algebra
Submodule.basis_of_pid_aux
∀ {ι : Type u_1} {R : Type u_2} [inst : CommRing R] [IsPrincipalIdealRing R] [IsDomain R] [Finite ι] {O : Type u_4}
[inst_4 : AddCommGroup O] [inst_5 : Module R O] (M N : Submodule R O) (b'M : Module.Basis ι R ↥M),
N ≠ ⊥ →
N ≤ M →
∃ y ∈ M,
∃ a,
a • y ∈ N ∧
∃ M' ≤ M,
∃ N' ≤ N,
N' ≤ M' ∧
(∀ (c : R), ∀ z ∈ M', c • y + z = 0 → c = 0) ∧
(∀ (c : R), ∀ z ∈ N', c • a • y + z = 0 → c = 0) ∧
∀ (n' : ℕ) (bN' : Module.Basis (Fin n') R ↥N'),
∃ bN,
∀ (m' : ℕ) (hn'm' : n' ≤ m') (bM' : Module.Basis (Fin m') R ↥M'),
∃ (hnm : n' + 1 ≤ m' + 1),
∃ bM,
∀ (as : Fin n' → R),
(∀ (i : Fin n'), ↑(bN' i) = as i • ↑(bM' (Fin.castLE hn'm' i))) →
∃ as', ∀ (i : Fin (n' + 1)), ↑(bN i) = as' i • ↑(bM (Fin.castLE hnm i))The induction hypothesis of Submodule.basisOfPid and Submodule.smithNormalForm.
Basically, it says: let N ≤ M be a pair of submodules, then we can find a pair of
submodules N' ≤ M' of strictly smaller rank, whose basis we can extend to get a basis
of N and M. Moreover, if the basis for M' is up to scalars a basis for N',
then the basis we find for M is up to scalars a basis for N.
For basis_of_pid we only need the first half and can fix M = ⊤,
for smith_normal_form we need the full statement,
but must also feed in a basis for M using basis_of_pid to keep the induction going.
- Defined in
- Mathlib.LinearAlgebra.FreeModule.PID
- Cited by
- 2 results in Mathlib
- Foundations
- Depth 92 from the axioms · uses propext, Classical.choice, Quot.sound
Around this declaration
Dashed lines are statement dependencies; solid lines are citations in proofs.
Cites67
Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.
- DFunLike.coestatement and proof · cited by 62,936
- Modulestatement and proof · cited by 20,661
- RingHom.idproof · cited by 18,349
- CommRingstatement and proof · cited by 17,173
- AddCommGroupstatement and proof · cited by 12,871
- LinearMapproof · cited by 10,215
- Fintypeproof · cited by 7,736
- Submodulestatement and proof · cited by 7,192
- Finset.sumproof · cited by 5,195
- Bot.botstatement and proof · cited by 4,720
- Set.rangeproof · cited by 4,705
- mul_oneproof · cited by 3,885
Cited by2
Results whose statement or proof uses this declaration.
- Submodule.exists_smith_normal_form_of_leproof · cited by 0
- Submodule.nonempty_basis_of_pidproof · cited by 0