Commit 2025-03-07 22:53 7590675d

View on Github →

chore(LinearAlgebra): split long file Dual.lean (#22697) This PR splits LinearAlgebra.Dual into three new files:

  • Dual/Defs.lean: definition of dual vector spaces and basic operations
  • Dual/Basis.lean: defines a basis on the dual space
  • Dual/Lemmas.lean: lemmas about dual spaces It would be nice if we could split Lemmas.lean further, but it looks like we just have a huge chunk importing FiniteDimensional and then a few random lemmas with extra imports; we'd need to untangle that bit of the library further before we'd start seeing actual import improvements. (Hint for bored reviewers: #22593, #22693)

Estimated changes

added theorem Basis.coe_dualBasis
added theorem Basis.coe_toDual_self
added def Basis.dualBasis
added theorem Basis.dualBasis_apply
added theorem Basis.dualBasis_repr
added theorem Basis.eval_ker
added theorem Basis.eval_range
added def Basis.toDual
added def Basis.toDualFlip
added theorem Basis.toDualFlip_apply
added theorem Basis.toDual_apply
added theorem Basis.toDual_eq_repr
added theorem Basis.toDual_inj
added theorem Basis.toDual_injective
added theorem Basis.toDual_ker
added theorem Basis.toDual_range
added theorem Basis.toDual_toDual
added structure Module.DualBases
added theorem Dual.apply_one_mul_eq
added theorem LinearMap.dualMap_def
added theorem LinearMap.dualMap_id
added def Module.Dual.eval
added theorem Module.Dual.eval_apply
added theorem Module.equiv
added theorem Module.erange_coe
added def Module.evalEquiv
added theorem Module.evalEquiv_apply
deleted theorem Basis.coe_dualBasis
deleted theorem Basis.coe_toDual_self
deleted def Basis.dualBasis
deleted theorem Basis.dualBasis_apply
deleted theorem Basis.dualBasis_equivFun
deleted theorem Basis.dualBasis_repr
deleted theorem Basis.eval_ker
deleted theorem Basis.eval_range
deleted def Basis.toDual
deleted def Basis.toDualEquiv
deleted theorem Basis.toDualEquiv_apply
deleted def Basis.toDualFlip
deleted theorem Basis.toDualFlip_apply
deleted theorem Basis.toDual_apply
deleted theorem Basis.toDual_apply_left
deleted theorem Basis.toDual_apply_right
deleted theorem Basis.toDual_eq_equivFun
deleted theorem Basis.toDual_eq_repr
deleted theorem Basis.toDual_inj
deleted theorem Basis.toDual_injective
deleted theorem Basis.toDual_ker
deleted theorem Basis.toDual_range
deleted theorem Basis.toDual_toDual
deleted theorem Dual.apply_one_mul_eq
deleted def LinearEquiv.dualMap
deleted theorem LinearEquiv.dualMap_apply
deleted theorem LinearEquiv.dualMap_refl
deleted theorem LinearEquiv.dualMap_symm
deleted theorem LinearEquiv.dualMap_trans
deleted def LinearMap.dualMap
deleted theorem LinearMap.dualMap_apply'
deleted theorem LinearMap.dualMap_apply
deleted theorem LinearMap.dualMap_def
deleted theorem LinearMap.dualMap_id
deleted def Module.Dual.eval
deleted theorem Module.Dual.eval_apply
deleted theorem Module.DualBases.dual_lc
deleted def Module.DualBases.lc
deleted theorem Module.DualBases.lc_def
deleted structure Module.DualBases
deleted def Module.dualPairing
deleted theorem Module.dualPairing_apply
deleted theorem Module.equiv
deleted theorem Module.erange_coe
deleted def Module.evalEquiv
deleted theorem Module.evalEquiv_apply
deleted def Module.mapEvalEquiv
deleted theorem Module.mapEvalEquiv_apply