Skip to content

Commit c698cce

Browse files
committed
Clean Chevalley up
1 parent 33f62ba commit c698cce

File tree

19 files changed

+467
-793
lines changed

19 files changed

+467
-793
lines changed

LeanCamCombi.lean

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,32 @@ import LeanCamCombi.GraphTheory.ExampleSheet1
1212
import LeanCamCombi.GraphTheory.ExampleSheet2
1313
import LeanCamCombi.GrowthInGroups.ApproximateSubgroup
1414
import LeanCamCombi.GrowthInGroups.BooleanSubalgebra
15+
import LeanCamCombi.GrowthInGroups.CharPolyBaseChange
1516
import LeanCamCombi.GrowthInGroups.Chevalley
17+
import LeanCamCombi.GrowthInGroups.ChevalleyComplex
1618
import LeanCamCombi.GrowthInGroups.Constructible
19+
import LeanCamCombi.GrowthInGroups.ConstructiblePrimeSpectrum
1720
import LeanCamCombi.GrowthInGroups.Lecture1
1821
import LeanCamCombi.GrowthInGroups.Lecture2
1922
import LeanCamCombi.GrowthInGroups.Lecture3
23+
import LeanCamCombi.GrowthInGroups.PolynomialLocalization
24+
import LeanCamCombi.GrowthInGroups.PrimeSpectrumPolynomial
2025
import LeanCamCombi.GrowthInGroups.VerySmallDoubling
2126
import LeanCamCombi.Impact
2227
import LeanCamCombi.Incidence
2328
import LeanCamCombi.Kneser.Kneser
2429
import LeanCamCombi.Kneser.KneserRuzsa
2530
import LeanCamCombi.Kneser.MulStab
2631
import LeanCamCombi.LittlewoodOfford
32+
import LeanCamCombi.Mathlib.Algebra.Algebra.Operations
2733
import LeanCamCombi.Mathlib.Algebra.Group.Pointwise.Finset.Basic
2834
import LeanCamCombi.Mathlib.Algebra.Group.Pointwise.Set.Basic
2935
import LeanCamCombi.Mathlib.Algebra.Group.Subgroup.Pointwise
36+
import LeanCamCombi.Mathlib.Algebra.Order.GroupWithZero.Unbundled
37+
import LeanCamCombi.Mathlib.Algebra.Polynomial.Degree.Lemmas
38+
import LeanCamCombi.Mathlib.Algebra.Polynomial.Div
39+
import LeanCamCombi.Mathlib.Algebra.Polynomial.Eval
40+
import LeanCamCombi.Mathlib.AlgebraicGeometry.PrimeSpectrum.Basic
3041
import LeanCamCombi.Mathlib.Analysis.Convex.Exposed
3142
import LeanCamCombi.Mathlib.Analysis.Convex.Extreme
3243
import LeanCamCombi.Mathlib.Analysis.Convex.Independence
@@ -43,6 +54,7 @@ import LeanCamCombi.Mathlib.Combinatorics.SimpleGraph.Multipartite
4354
import LeanCamCombi.Mathlib.Combinatorics.SimpleGraph.Subgraph
4455
import LeanCamCombi.Mathlib.Data.Finset.Basic
4556
import LeanCamCombi.Mathlib.Data.Finset.PosDiffs
57+
import LeanCamCombi.Mathlib.Data.Fintype.Card
4658
import LeanCamCombi.Mathlib.Data.List.DropRight
4759
import LeanCamCombi.Mathlib.Data.Multiset.Basic
4860
import LeanCamCombi.Mathlib.Data.Prod.Lex
@@ -55,9 +67,13 @@ import LeanCamCombi.Mathlib.GroupTheory.OrderOfElement
5567
import LeanCamCombi.Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional
5668
import LeanCamCombi.Mathlib.Order.Interval.Finset.Defs
5769
import LeanCamCombi.Mathlib.Order.Partition.Finpartition
70+
import LeanCamCombi.Mathlib.Order.RelClasses
5871
import LeanCamCombi.Mathlib.Order.SupClosed
5972
import LeanCamCombi.Mathlib.Probability.ProbabilityMassFunction.Constructions
73+
import LeanCamCombi.Mathlib.RingTheory.FinitePresentation
6074
import LeanCamCombi.Mathlib.RingTheory.Ideal.Span
75+
import LeanCamCombi.Mathlib.RingTheory.LocalRing.ResidueField.Ideal
76+
import LeanCamCombi.Mathlib.RingTheory.Polynomial.Basic
6177
import LeanCamCombi.Mathlib.Topology.Defs.Induced
6278
import LeanCamCombi.Mathlib.Topology.Spectral.Hom
6379
import LeanCamCombi.MetricBetween
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import Mathlib.LinearAlgebra.Charpoly.ToMatrix
2+
import Mathlib.RingTheory.TensorProduct.Free
3+
4+
open Polynomial TensorProduct
5+
6+
universe u v
7+
variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M]
8+
9+
lemma LinearMap.charpoly_baseChange [Module.Free R M] [Module.Finite R M]
10+
{A} [CommRing A] [Algebra R A] (f : M →ₗ[R] M) :
11+
(f.baseChange A).charpoly = f.charpoly.map (algebraMap R A) := by
12+
nontriviality A
13+
have := (algebraMap R A).domain_nontrivial
14+
let I := Module.Free.ChooseBasisIndex R M
15+
let b : Basis I R M := Module.Free.chooseBasis R M
16+
rw [← f.charpoly_toMatrix b, ← (f.baseChange A).charpoly_toMatrix (b.baseChange A),
17+
← Matrix.charpoly_map]
18+
congr 1
19+
ext i j
20+
simp [Matrix.map_apply, LinearMap.toMatrix_apply, ← Algebra.algebraMap_eq_smul_one]

LeanCamCombi/GrowthInGroups/Chevalley.lean

Lines changed: 11 additions & 306 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)