Paper XI · Lean source
RadicalOnePlus111.lean
Selected results recorded Coverage and evidence
Compiler/replay evidence is reported for a subset or bounded block. No whole-work coverage is implied.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (1)
PaperXI/RadicalOnePlus111.lean58 lines
Original source path
formalization/PaperXI/RadicalOnePlus111.leanSkip declarations and read code
1 import PaperXI.OnePlusIntersection110
2 import Mathlib.RingTheory.Jacobson.Ideal
3
4 /-! Exact one-plus groups from actual radical ideals in the original order.
5 The order may be noncommutative. No arbitrary additive lattice is declared
6 to be a group or an ideal of the full field endomorphism algebra. -/
7 set_option autoImplicit false
8 noncomputable section
9 namespace PaperXI.RadicalOnePlus111
10 open PaperXI.OnePlusIntersection110
11
12 variable {R : Type*} [Ring R]
13
14 /-- A two-sided inverse follows from the left-Jacobson property alone.
15 No commutativity or desired invertibility premise is used. -/
16 theorem isUnit_of_sub_one_mem_jacobson (r : R)
17 (hr : r - 1 ∈ Ideal.jacobson (⊥ : Ideal R)) : IsUnit r := by
18 obtain ⟨s, hs⟩ := Ideal.exists_mul_sub_mem_of_sub_one_mem_jacobson r hr
19 have hsr : s * r = 1 := by simpa only [Ideal.mem_bot, sub_eq_zero] using hs
20 have hsrad : s - 1 ∈ Ideal.jacobson (⊥ : Ideal R) := by
21 have h := (Ideal.jacobson (⊥ : Ideal R)).neg_mem
22 ((Ideal.jacobson (⊥ : Ideal R)).mul_mem_left s hr)
23 have he : -(s * (r - 1)) = s - 1 := by rw [mul_sub, mul_one, hsr]; abel
24 rwa [he] at h
25 obtain ⟨t, ht⟩ := Ideal.exists_mul_sub_mem_of_sub_one_mem_jacobson s hsrad
26 have hts : t * s = 1 := by simpa only [Ideal.mem_bot, sub_eq_zero] using ht
27 have htr : t = r := by
28 calc t = t * (s * r) := by rw [hsr, mul_one]
29 _ = (t * s) * r := (mul_assoc _ _ _).symm
30 _ = r := by rw [hts, one_mul]
31 exact ⟨⟨r, s, by simpa only [htr] using hts, hsr⟩, rfl⟩
32
33 /-- The actual subgroup of units whose offset belongs to I. -/
34 def onePlus (I : Ideal R) : Subgroup Rˣ := idealUnits I
35
36 theorem onePlus_offsets (I : Ideal R) :
37 ∀ g : onePlus I, ((g : Rˣ) : R) - 1 ∈ I.toAddSubgroup := fun g => g.property
38
39 /-- Every actual ideal element has its literal unit 1+x in the subgroup. -/
40 theorem onePlus_surjective (I : Ideal R)
41 (hI : I ≤ Ideal.jacobson (⊥ : Ideal R)) :
42 ∀ x : I.toAddSubgroup, ∃ g : onePlus I, ((g : Rˣ) : R) = 1 + (x : R) := by
43 intro x
44 have hu : IsUnit (1 + (x : R)) :=
45 isUnit_of_sub_one_mem_jacobson _ (by simpa using hI x.property)
46 obtain ⟨g, hg⟩ := hu
47 refine ⟨⟨g, ?_⟩, hg⟩
48 change (g : R) - 1 ∈ I
49 rw [hg]
50 simp
51
52 /-- The ideal itself is the offset carrier, via the actual unit-valued map. -/
53 def offsetEquiv (I : Ideal R) (hI : I ≤ Ideal.jacobson (⊥ : Ideal R)) :
54 onePlus I ≃ I.toAddSubgroup :=
55 PaperXI.OnePlusIndex110.offsetEquiv I.toAddSubgroup (onePlus I)
56 (onePlus_offsets I) (onePlus_surjective I hI)
57
58 end PaperXI.RadicalOnePlus111
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: 3ebe8185adccd13a0c9d9102e437f22fb910637ef074bfb50331602f7eac41a7
Back to Paper XI: Packets, Arithmetic Realization, and Conditional Comparison