Paper XII · Lean source
FittingTransport.lean
Inherited / related evidence Coverage and evidence
The edition relies on earlier or related formal evidence. That evidence is not a fresh full-edition replay.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (2)
PaperXII/FittingTransport.lean60 lines
Original source path
core/publication/source/lean_guide/formal_release/lean/PaperXII/FittingTransport.leanSkip declarations and read code
1 import PaperXII.FittingBaseChange
2 import PaperXII.SupportTransport
3
4 noncomputable section
5 namespace PaperXII
6 open TensorProduct
7 variable {R S M : Type*} [CommRing R] [CommRing S] [Algebra R S]
8 [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
9
10 /-- Extension of scalars cancels for an existing S-module when R → S is surjective. -/
11 def scalarTensorEquiv (hf : Function.Surjective (algebraMap R S)) : S ⊗[R] M ≃ₗ[S] M :=
12 { ((LinearMap.id : M →ₗ[S] M).restrictScalars R).liftBaseChange S with
13 invFun := fun m => (1 : S) ⊗ₜ[R] m
14 left_inv := by
15 intro z
16 change (1 : S) ⊗ₜ[R] ((((LinearMap.id : M →ₗ[S] M).restrictScalars R).liftBaseChange S) z) = z
17 induction z with
18 | zero => simp
19 | tmul s m =>
20 obtain ⟨r,rfl⟩ := hf s
21 simp only [LinearMap.liftBaseChange_tmul,LinearMap.restrictScalars_apply,
22 LinearMap.id_apply,IsScalarTower.algebraMap_smul]
23 rw [← TensorProduct.smul_tmul]
24 simp [Algebra.smul_def]
25 | add x y hx hy => simp only [map_add,TensorProduct.tmul_add,hx,hy]
26 right_inv := by intro m; simp }
27
28 /-- Intrinsic Fitting transport, in fact valid for any surjective scalar map. -/
29 theorem fittingIdeal_transport [Module.FinitePresentation R M] [Module.FinitePresentation S M]
30 (hf : Function.Surjective (algebraMap R S)) (j : ℕ) :
31 Ideal.map (algebraMap R S) (fittingIdeal R M j) = fittingIdeal S M j := by
32 rw [← fittingIdeal_baseChange]
33 exact fittingIdeal_linearEquiv (scalarTensorEquiv hf) j
34
35 /-- Complete support and Fitting transport in Claim 7.1, under a ring identification. -/
36 theorem support_and_fitting_transport [Module.FinitePresentation R M] [Module.FinitePresentation S M]
37 (hf : Function.Bijective (algebraMap R S)) :
38 IsHomeomorph (PrimeSpectrum.comap (algebraMap R S)) ∧
39 PrimeSpectrum.comap (algebraMap R S) '' Module.support S M = Module.support R M ∧
40 ∀ j : ℕ, Ideal.map (algebraMap R S) (fittingIdeal R M j) = fittingIdeal S M j := by
41 exact ⟨SupportTransport.spectrum_isHomeomorph hf, SupportTransport.image_support hf,
42 fun j => fittingIdeal_transport hf.surjective j⟩
43
44 /-- Claim 7.1 at the manuscript hypotheses. All finite-presentation inputs are derived. -/
45 theorem support_and_fitting_transport_noetherian [IsNoetherianRing R] [IsNoetherianRing S]
46 [Module.Finite S M] (hf : Function.Bijective (algebraMap R S)) :
47 let _ : Module.Finite R S := Module.Finite.of_surjective (Algebra.linearMap R S) hf.surjective
48 let _ : Module.Finite R M := Module.Finite.trans S M
49 let _ : Module.FinitePresentation R M := Module.finitePresentation_of_finite R M
50 let _ : Module.FinitePresentation S M := Module.finitePresentation_of_finite S M
51 IsHomeomorph (PrimeSpectrum.comap (algebraMap R S)) ∧
52 PrimeSpectrum.comap (algebraMap R S) '' Module.support S M = Module.support R M ∧
53 ∀ j : ℕ, Ideal.map (algebraMap R S) (fittingIdeal R M j) = fittingIdeal S M j := by
54 let : Module.Finite R S := Module.Finite.of_surjective (Algebra.linearMap R S) hf.surjective
55 let : Module.Finite R M := Module.Finite.trans S M
56 let : Module.FinitePresentation R M := Module.finitePresentation_of_finite R M
57 let : Module.FinitePresentation S M := Module.finitePresentation_of_finite S M
58 exact support_and_fitting_transport hf
59
60 end PaperXII
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: 23d49ac97ae28abf066ebd10121c7757246e493167a8e8e02be207cb06adbde4
Back to Paper XII: Patching Support, Hecke Packets, and Conditional Automorphic Completion