PFR/Mathlib/LinearAlgebra/Basis/VectorSpace.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Polynomial Freiman-Ruzsa proof paper, arXiv v2
1 declarations, 0 contain sorry, 0 declared as axioms
Imported by 2 files
- theorem
Submodule.exists_equiv_fst_sndModFstGiven a submodule $E$ of $B \times F$, there is an equivalence $f : E \to B' \times F'$ given by the projections $E \to B$ and $E \to F$ "modulo" some $φ : B \to F$ line 16 sourceSource documentation
Given a submodule $E$ of $B \times F$, there is an equivalence $f : E \to B' \times F'$ given by the projections $E \to B$ and $E \to F$ "modulo" some $φ : B \to F$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
DivisionRing,AddCommGroup,Module,Submodule,Prod,Exists,LinearEquiv,RingHom.id,Subtype,Membership.mem,LinearMap,And,Eq,Prod.fst,Prod.snd,HSub.hSub,LinearEquiv.symm,Prod.mk,HAdd.hAddProof uses:
LinearMap.fst,Submodule.map,LinearMap.submoduleMap,LinearMap.range,Top.top,Iff.mpr,Function.Surjective,LinearMap.range_eq_top,LinearMap.submoduleMap_surjective,LinearMap.comp,LinearMap.id,LinearMap.exists_rightInverse_of_surjective,Submodule.subtype,LinearMap.exists_extend,LinearMap.domRestrict,LinearMap.snd,LinearMap.rangeRestrict,IsCompl,LinearMap.ker,IsCompl.of_eqand 46 more93 instances, coercions and auxiliary constants left out.
Tactic trace: 44 steps
Open to load the checked before-and-after goal states.
theorem exists_equiv_fst_sndModFst (E : Submodule R (B × F)) : ∃ (B' : Submodule R B) (F' : Submodule R F) (f : E ≃ₗ[R] B' × F') (φ : B →ₗ[R] F), (∀ x, (f x).1.val = x.val.1 ∧ (f x).2.val = x.val.2 - φ x.val.1) ∧ (∀ (x₁ : B') (x₂ : F'), (f.symm (x₁, x₂)).val = (x₁.val, x₂.val + φ x₁.val)) := by …