Paper X · Lean source

NormSignArithmetic.lean

Declared contract recorded Coverage and evidence

The cited release explicitly reports completion of its registered formal contract, under its exact hypotheses.

This viewer reads the retained source; it does not run Lean or assign new claim mappings.

Local imports (2)

PaperX/NormSignArithmetic.lean70 lines

Original source pathcurrent_continuation/lean/PaperX/NormSignArithmetic.lean
Skip declarations and read code

Skip source text

1 import PaperX.NormSignFormula
2 import PaperX.NormSignGeometry
3 import Mathlib.NumberTheory.NumberField.Norm
4 
5 /-! The geometric real-coordinate sign is exactly the sign of the actual field
6 norm and of the integral norm on the ring of integers. -/
7 set_option autoImplicit false
8 noncomputable section
9 
10 namespace PaperX.NormSignArithmetic
11 open NumberField NumberField.InfinitePlace NumberField.mixedEmbedding
12 open NormSignGeometry
13 open scoped Classical
14 variable (K : Type*) [Field K] [NumberField K]
15 
16 theorem field_norm_pos_iff {x : K} (hx : x ≠ 0) :
17     (0 : ℝ) < Algebra.norm ℚ x ↔ 0 < realProduct K (mixedEmbedding K x) := by
18   rw [field_norm_eq_real_mul_complex]
19   exact mul_pos_iff_of_pos_right (complex_factor_pos K hx)
20 
21 theorem field_norm_neg_iff {x : K} (hx : x ≠ 0) :
22     (Algebra.norm ℚ x : ℝ) < 0 ↔ realProduct K (mixedEmbedding K x) < 0 := by
23   rw [field_norm_eq_real_mul_complex]
24   have hp := complex_factor_pos K hx
25   unfold realProduct
26   constructor
27   · intro h
28     nlinarith
29   · intro h
30     exact mul_neg_of_neg_of_pos h hp
31 
32 theorem integer_norm_pos_iff {x : 𝓞 K} (hx : x ≠ 0) :
33     0 < Algebra.norm ℤ x ↔ 0 < realProduct K (mixedEmbedding K (x : K)) := by
34   have hn : (x : K) ≠ 0 := by exact_mod_cast hx
35   have he : (Algebra.norm ℚ (x : K) : ℝ) = (Algebra.norm ℤ x : ℝ) := by
36     rw [← Algebra.coe_norm_int, Rat.cast_intCast]
37   rw [← Int.cast_pos (R := ℝ), ← he]
38   exact field_norm_pos_iff K hn
39 
40 theorem integer_norm_neg_iff {x : 𝓞 K} (hx : x ≠ 0) :
41     Algebra.norm ℤ x < 0 ↔ realProduct K (mixedEmbedding K (x : K)) < 0 := by
42   have hn : (x : K) ≠ 0 := by exact_mod_cast hx
43   have he : (Algebra.norm ℚ (x : K) : ℝ) = (Algebra.norm ℤ x : ℝ) := by
44     rw [← Algebra.coe_norm_int, Rat.cast_intCast]
45   rw [← Int.cast_lt_zero (R := ℝ), ← he]
46   exact field_norm_neg_iff K hn
47 
48 /-- No sign assumption is added: membership in the actual positive cone forces
49 the integral norm to be positive. -/
50 theorem integer_norm_pos_of_mem_signCone {x : 𝓞 K}
51     (hx : mixedEmbedding K (x : K) ∈ signCone K true) : 0 < Algebra.norm ℤ x := by
52   have hne : x ≠ 0 := by
53     intro he
54     subst x
55     have hp := fundamentalCone.normAtPlace_pos_of_mem hx.1.1
56       (Classical.arbitrary (InfinitePlace K))
57     simp at hp
58   exact (integer_norm_pos_iff K hne).mpr hx.2
59 
60 theorem integer_norm_neg_of_mem_signCone {x : 𝓞 K}
61     (hx : mixedEmbedding K (x : K) ∈ signCone K false) : Algebra.norm ℤ x < 0 := by
62   have hne : x ≠ 0 := by
63     intro he
64     subst x
65     have hp := fundamentalCone.normAtPlace_pos_of_mem hx.1.1
66       (Classical.arbitrary (InfinitePlace K))
67     simp at hp
68   exact (integer_norm_neg_iff K hne).mpr (neg_pos.mp hx.2)
69 
70 end PaperX.NormSignArithmetic

Back to source controls

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: d8e68e88d3789aa05e5a58773635b07596570c4be959d0d4c0016a562342c1e0

Original source on GitHub

Back to Paper X: Universal Residual Seeds and Conditional Occupied-System Completion