FLT/Mathlib/Algebra/Module/TransferInstance.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, Pinned FLT blueprint introduction
2 declarations, 0 contain sorry, 0 declared as axioms
Transferring a module structure along a bare Equiv
Mathlib PR #42291 replaced Equiv.module and Equiv.linearEquiv with AddEquiv-based
versions, on the grounds that "it is typically easy to construct this richer equivalence".
That is not the case when transporting a structure along an arbitrary bijection, as in
Finite.equivFin M : M ≃ Fin (Nat.card M): the target carries no additive structure at all
until it is transported along the bijection, so there is no AddEquiv to be had beforehand.
FLT/Patching/Utils/StructureFiniteness.lean needs exactly that, so we reinstate the original
Equiv-based forms here under primed names.
Imports (1)
Imported by 2 files
- abbrev
Equiv.module'TransferModuleacross anEquiv, where the additive structure on the source is itself obtained by transporting the one on the target back along the equivalence line 32 sourceSource documentation
Transfer
Moduleacross anEquiv, where the additive structure on the source is itself obtained by transporting the one on the target back along the equivalence.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Semiring,Equiv,AddCommMonoid,Module,Equiv.addCommMonoidProof uses:
AddEquiv.module,Equiv.addEquiv3 instances, coercions and auxiliary constants left out.
protected abbrev module' (e : α ≃ β) [AddCommMonoid β] [Module R β] : letI := e.addCommMonoid … - def
Equiv.linearEquiv'Documented declaration: linearEquiv' line 42 sourceSource documentation
An equivalence
e : α ≃ βgives a linear equivalenceα ≃ₗ[R] β, where theR-module structure onαis the one obtained by transporting theR-module structure onβback alonge.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Semiring,Equiv,AddCommMonoid,Module,LinearEquiv,RingHom.id,Equiv.addCommMonoid, Equiv.module'Proof uses:
AddEquiv.linearEquiv,Equiv.addEquiv5 instances, coercions and auxiliary constants left out.
def linearEquiv' (e : α ≃ β) [AddCommMonoid β] [Module R β] : letI := e.addCommMonoid …