Large Signal Model · Lean source

Section88ComparisonRotatedPosOrientation.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)

KomorebiLSM/Section88ComparisonRotatedPosOrientation.lean295 lines

Original source pathLean/KomorebiLSM/Section88ComparisonRotatedPosOrientation.lean
Skip declarations and read code

Skip source text

1 import KomorebiLSM.PerturbedOperatorFixture
2 import KomorebiLSM.RecordedBernsteinFixture
3 
4 /-! Exact rational replay of robust_comparison_certificate.json: rotated, chart 1, orientation. -/
5 set_option autoImplicit false
6 set_option maxRecDepth 4000
7 set_option maxHeartbeats 800000
8 namespace Komorebi.LSM.Section88ComparisonRotatedPosOrientation
9 open TensorBernsteinCertificate RationalBernsteinMargin RationalLorentzMatrix
10 open PerturbedOperatorFixture RecordedBernsteinFixture
11 noncomputable section
12 
13 def polynomial : Polynomial₂ := MvPolynomial.C (9/32 : ℚ)*MvPolynomial.X 0^0*MvPolynomial.X 1^0 +
14 MvPolynomial.C (9/32 : ℚ)*MvPolynomial.X 0^0*MvPolynomial.X 1^2 +
15 MvPolynomial.C (-21/160000 : ℚ)*MvPolynomial.X 0^1*MvPolynomial.X 1^0 +
16 MvPolynomial.C (21/160000 : ℚ)*MvPolynomial.X 0^1*MvPolynomial.X 1^2 +
17 MvPolynomial.C (420021/160000 : ℚ)*MvPolynomial.X 0^1*MvPolynomial.X 1^1 +
18 MvPolynomial.C (63/32 : ℚ)*MvPolynomial.X 0^2*MvPolynomial.X 1^0 +
19 MvPolynomial.C (63/32 : ℚ)*MvPolynomial.X 0^2*MvPolynomial.X 1^2
20 
21 theorem polynomial_source : polynomial=orientationPolynomial (nominalComparison true) (1/16) false := by
22   apply MvPolynomial.funext
23   intro x
24   norm_num [polynomial,orientationPolynomial,orientationPolynomial,squareGapPolynomial,outputPolynomial,
25     liftPolynomial,denominatorPolynomial,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
26   ring
27 
28 def cell_0 : Rectangle := (square.quarter false false)
29 def leaf_0 : RecordedLeaf polynomial cell_0 := by
30   let c : Fin 3 → Fin 3 → ℚ := ![![(1140021/160000 : ℚ),(1140063/320000 : ℚ),(360021/160000 : ℚ)],![(600021/320000 : ℚ),(600063/640000 : ℚ),(90021/320000 : ℚ)],![(9/16 : ℚ),(9/32 : ℚ),(9/32 : ℚ)]]
31   refine ⟨⟨2,2,c,?_,?_⟩,(9/32 : ℚ),?_,?_,?_⟩
32   · decide +kernel
33   · apply MvPolynomial.funext
34     intro x
35     norm_num [Rectangle.localPolynomial,cell_0,Rectangle.quarter,Rectangle.half,
36       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
37       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
38     ring
39   · norm_num
40   · decide +kernel
41   · decide +kernel
42 
43 def cell_10 : Rectangle := ((square.quarter false true).quarter false false)
44 def leaf_10 : RecordedLeaf polynomial cell_10 := by
45   let c : Fin 3 → Fin 3 → ℚ := ![![(360021/160000 : ℚ),(1020063/640000 : ℚ),(960021/640000 : ℚ)],![(810063/640000 : ℚ),(1980189/2560000 : ℚ),(1530063/2560000 : ℚ)],![(247521/320000 : ℚ),(570063/1280000 : ℚ),(397521/1280000 : ℚ)]]
46   refine ⟨⟨2,2,c,?_,?_⟩,(397521/1280000 : ℚ),?_,?_,?_⟩
47   · decide +kernel
48   · apply MvPolynomial.funext
49     intro x
50     norm_num [Rectangle.localPolynomial,cell_10,Rectangle.quarter,Rectangle.half,
51       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
52       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
53     ring
54   · norm_num
55   · decide +kernel
56   · decide +kernel
57 
58 def cell_11 : Rectangle := ((square.quarter false true).quarter false true)
59 def leaf_11 : RecordedLeaf polynomial cell_11 := by
60   let c : Fin 3 → Fin 3 → ℚ := ![![(960021/640000 : ℚ),(899979/640000 : ℚ),(299979/160000 : ℚ)],![(1530063/2560000 : ℚ),(1079937/2560000 : ℚ),(359937/640000 : ℚ)],![(397521/1280000 : ℚ),(224979/1280000 : ℚ),(74979/320000 : ℚ)]]
61   refine ⟨⟨2,2,c,?_,?_⟩,(224979/1280000 : ℚ),?_,?_,?_⟩
62   · decide +kernel
63   · apply MvPolynomial.funext
64     intro x
65     norm_num [Rectangle.localPolynomial,cell_11,Rectangle.quarter,Rectangle.half,
66       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
67       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
68     ring
69   · norm_num
70   · decide +kernel
71   · decide +kernel
72 
73 def cell_12 : Rectangle := ((square.quarter false true).quarter true false)
74 def leaf_12 : RecordedLeaf polynomial cell_12 := by
75   let c : Fin 3 → Fin 3 → ℚ := ![![(247521/320000 : ℚ),(570063/1280000 : ℚ),(397521/1280000 : ℚ)],![(180021/640000 : ℚ),(300063/2560000 : ℚ),(60021/2560000 : ℚ)],![(9/32 : ℚ),(9/32 : ℚ),(45/128 : ℚ)]]
76   refine ⟨⟨2,2,c,?_,?_⟩,(60021/2560000 : ℚ),?_,?_,?_⟩
77   · decide +kernel
78   · apply MvPolynomial.funext
79     intro x
80     norm_num [Rectangle.localPolynomial,cell_12,Rectangle.quarter,Rectangle.half,
81       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
82       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
83     ring
84   · norm_num
85   · decide +kernel
86   · decide +kernel
87 
88 def cell_130 : Rectangle := (((square.quarter false true).quarter true true).quarter false false)
89 def leaf_130 : RecordedLeaf polynomial cell_130 := by
90   let c : Fin 3 → Fin 3 → ℚ := ![![(397521/1280000 : ℚ),(249/1024 : ℚ),(229479/1024000 : ℚ)],![(855063/5120000 : ℚ),(225/2048 : ℚ),(350937/4096000 : ℚ)],![(453771/2560000 : ℚ),(597/4096 : ℚ),(285729/2048000 : ℚ)]]
91   refine ⟨⟨2,2,c,?_,?_⟩,(350937/4096000 : ℚ),?_,?_,?_⟩
92   · decide +kernel
93   · apply MvPolynomial.funext
94     intro x
95     norm_num [Rectangle.localPolynomial,cell_130,Rectangle.quarter,Rectangle.half,
96       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
97       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
98     ring
99   · norm_num
100   · decide +kernel
101   · decide +kernel
102 
103 def cell_131 : Rectangle := (((square.quarter false true).quarter true true).quarter false true)
104 def leaf_131 : RecordedLeaf polynomial cell_131 := by
105   let c : Fin 3 → Fin 3 → ℚ := ![![(229479/1024000 : ℚ),(104979/512000 : ℚ),(74979/320000 : ℚ)],![(350937/4096000 : ℚ),(125937/2048000 : ℚ),(89937/1280000 : ℚ)],![(285729/2048000 : ℚ),(136479/1024000 : ℚ),(97479/640000 : ℚ)]]
106   refine ⟨⟨2,2,c,?_,?_⟩,(125937/2048000 : ℚ),?_,?_,?_⟩
107   · decide +kernel
108   · apply MvPolynomial.funext
109     intro x
110     norm_num [Rectangle.localPolynomial,cell_131,Rectangle.quarter,Rectangle.half,
111       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
112       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
113     ring
114   · norm_num
115   · decide +kernel
116   · decide +kernel
117 
118 def cell_132 : Rectangle := (((square.quarter false true).quarter true true).quarter true false)
119 def leaf_132 : RecordedLeaf polynomial cell_132 := by
120   let c : Fin 3 → Fin 3 → ℚ := ![![(453771/2560000 : ℚ),(597/4096 : ℚ),(285729/2048000 : ℚ)],![(960021/5120000 : ℚ),(93/512 : ℚ),(791979/4096000 : ℚ)],![(45/128 : ℚ),(99/256 : ℚ),(225/512 : ℚ)]]
121   refine ⟨⟨2,2,c,?_,?_⟩,(285729/2048000 : ℚ),?_,?_,?_⟩
122   · decide +kernel
123   · apply MvPolynomial.funext
124     intro x
125     norm_num [Rectangle.localPolynomial,cell_132,Rectangle.quarter,Rectangle.half,
126       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
127       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
128     ring
129   · norm_num
130   · decide +kernel
131   · decide +kernel
132 
133 def cell_133 : Rectangle := (((square.quarter false true).quarter true true).quarter true true)
134 def leaf_133 : RecordedLeaf polynomial cell_133 := by
135   let c : Fin 3 → Fin 3 → ℚ := ![![(285729/2048000 : ℚ),(136479/1024000 : ℚ),(97479/640000 : ℚ)],![(791979/4096000 : ℚ),(419979/2048000 : ℚ),(299979/1280000 : ℚ)],![(225/512 : ℚ),(63/128 : ℚ),(9/16 : ℚ)]]
136   refine ⟨⟨2,2,c,?_,?_⟩,(136479/1024000 : ℚ),?_,?_,?_⟩
137   · decide +kernel
138   · apply MvPolynomial.funext
139     intro x
140     norm_num [Rectangle.localPolynomial,cell_133,Rectangle.quarter,Rectangle.half,
141       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
142       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
143     ring
144   · norm_num
145   · decide +kernel
146   · decide +kernel
147 
148 def cell_200 : Rectangle := (((square.quarter true false).quarter false false).quarter false false)
149 def leaf_200 : RecordedLeaf polynomial cell_200 := by
150   let c : Fin 3 → Fin 3 → ℚ := ![![(9/16 : ℚ),(63/128 : ℚ),(225/512 : ℚ)],![(299979/1280000 : ℚ),(2099811/10240000 : ℚ),(3959601/20480000 : ℚ)],![(97479/640000 : ℚ),(682311/5120000 : ℚ),(1428351/10240000 : ℚ)]]
151   refine ⟨⟨2,2,c,?_,?_⟩,(682311/5120000 : ℚ),?_,?_,?_⟩
152   · decide +kernel
153   · apply MvPolynomial.funext
154     intro x
155     norm_num [Rectangle.localPolynomial,cell_200,Rectangle.quarter,Rectangle.half,
156       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
157       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
158     ring
159   · norm_num
160   · decide +kernel
161   · decide +kernel
162 
163 def cell_201 : Rectangle := (((square.quarter true false).quarter false false).quarter false true)
164 def leaf_201 : RecordedLeaf polynomial cell_201 := by
165   let c : Fin 3 → Fin 3 → ℚ := ![![(225/512 : ℚ),(99/256 : ℚ),(45/128 : ℚ)],![(3959601/20480000 : ℚ),(185979/1024000 : ℚ),(191979/1024000 : ℚ)],![(1428351/10240000 : ℚ),(18651/128000 : ℚ),(90729/512000 : ℚ)]]
166   refine ⟨⟨2,2,c,?_,?_⟩,(1428351/10240000 : ℚ),?_,?_,?_⟩
167   · decide +kernel
168   · apply MvPolynomial.funext
169     intro x
170     norm_num [Rectangle.localPolynomial,cell_201,Rectangle.quarter,Rectangle.half,
171       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
172       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
173     ring
174   · norm_num
175   · decide +kernel
176   · decide +kernel
177 
178 def cell_202 : Rectangle := (((square.quarter true false).quarter false false).quarter true false)
179 def leaf_202 : RecordedLeaf polynomial cell_202 := by
180   let c : Fin 3 → Fin 3 → ℚ := ![![(97479/640000 : ℚ),(682311/5120000 : ℚ),(1428351/10240000 : ℚ)],![(89937/1280000 : ℚ),(629433/10240000 : ℚ),(1753803/20480000 : ℚ)],![(74979/320000 : ℚ),(524811/2560000 : ℚ),(1147101/5120000 : ℚ)]]
181   refine ⟨⟨2,2,c,?_,?_⟩,(629433/10240000 : ℚ),?_,?_,?_⟩
182   · decide +kernel
183   · apply MvPolynomial.funext
184     intro x
185     norm_num [Rectangle.localPolynomial,cell_202,Rectangle.quarter,Rectangle.half,
186       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
187       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
188     ring
189   · norm_num
190   · decide +kernel
191   · decide +kernel
192 
193 def cell_203 : Rectangle := (((square.quarter true false).quarter false false).quarter true true)
194 def leaf_203 : RecordedLeaf polynomial cell_203 := by
195   let c : Fin 3 → Fin 3 → ℚ := ![![(1428351/10240000 : ℚ),(18651/128000 : ℚ),(90729/512000 : ℚ)],![(1753803/20480000 : ℚ),(112437/1024000 : ℚ),(170937/1024000 : ℚ)],![(1147101/5120000 : ℚ),(62229/256000 : ℚ),(79479/256000 : ℚ)]]
196   refine ⟨⟨2,2,c,?_,?_⟩,(1753803/20480000 : ℚ),?_,?_,?_⟩
197   · decide +kernel
198   · apply MvPolynomial.funext
199     intro x
200     norm_num [Rectangle.localPolynomial,cell_203,Rectangle.quarter,Rectangle.half,
201       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
202       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
203     ring
204   · norm_num
205   · decide +kernel
206   · decide +kernel
207 
208 def cell_21 : Rectangle := ((square.quarter true false).quarter false true)
209 def leaf_21 : RecordedLeaf polynomial cell_21 := by
210   let c : Fin 3 → Fin 3 → ℚ := ![![(45/128 : ℚ),(9/32 : ℚ),(9/32 : ℚ)],![(11979/512000 : ℚ),(59979/512000 : ℚ),(179979/640000 : ℚ)],![(79479/256000 : ℚ),(113979/256000 : ℚ),(247479/320000 : ℚ)]]
211   refine ⟨⟨2,2,c,?_,?_⟩,(11979/512000 : ℚ),?_,?_,?_⟩
212   · decide +kernel
213   · apply MvPolynomial.funext
214     intro x
215     norm_num [Rectangle.localPolynomial,cell_21,Rectangle.quarter,Rectangle.half,
216       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
217       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
218     ring
219   · norm_num
220   · decide +kernel
221   · decide +kernel
222 
223 def cell_22 : Rectangle := ((square.quarter true false).quarter true false)
224 def leaf_22 : RecordedLeaf polynomial cell_22 := by
225   let c : Fin 3 → Fin 3 → ℚ := ![![(74979/320000 : ℚ),(44979/256000 : ℚ),(79479/256000 : ℚ)],![(359937/640000 : ℚ),(215937/512000 : ℚ),(305937/512000 : ℚ)],![(299979/160000 : ℚ),(179979/128000 : ℚ),(191979/128000 : ℚ)]]
226   refine ⟨⟨2,2,c,?_,?_⟩,(44979/256000 : ℚ),?_,?_,?_⟩
227   · decide +kernel
228   · apply MvPolynomial.funext
229     intro x
230     norm_num [Rectangle.localPolynomial,cell_22,Rectangle.quarter,Rectangle.half,
231       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
232       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
233     ring
234   · norm_num
235   · decide +kernel
236   · decide +kernel
237 
238 def cell_23 : Rectangle := ((square.quarter true false).quarter true true)
239 def leaf_23 : RecordedLeaf polynomial cell_23 := by
240   let c : Fin 3 → Fin 3 → ℚ := ![![(79479/256000 : ℚ),(113979/256000 : ℚ),(247479/320000 : ℚ)],![(305937/512000 : ℚ),(395937/512000 : ℚ),(809937/640000 : ℚ)],![(191979/128000 : ℚ),(203979/128000 : ℚ),(359979/160000 : ℚ)]]
241   refine ⟨⟨2,2,c,?_,?_⟩,(79479/256000 : ℚ),?_,?_,?_⟩
242   · decide +kernel
243   · apply MvPolynomial.funext
244     intro x
245     norm_num [Rectangle.localPolynomial,cell_23,Rectangle.quarter,Rectangle.half,
246       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
247       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
248     ring
249   · norm_num
250   · decide +kernel
251   · decide +kernel
252 
253 def cell_3 : Rectangle := (square.quarter true true)
254 def leaf_3 : RecordedLeaf polynomial cell_3 := by
255   let c : Fin 3 → Fin 3 → ℚ := ![![(9/32 : ℚ),(9/32 : ℚ),(9/16 : ℚ)],![(89979/320000 : ℚ),(599979/640000 : ℚ),(600021/320000 : ℚ)],![(359979/160000 : ℚ),(1139979/320000 : ℚ),(1140021/160000 : ℚ)]]
256   refine ⟨⟨2,2,c,?_,?_⟩,(89979/320000 : ℚ),?_,?_,?_⟩
257   · decide +kernel
258   · apply MvPolynomial.funext
259     intro x
260     norm_num [Rectangle.localPolynomial,cell_3,Rectangle.quarter,Rectangle.half,
261       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
262       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
263     ring
264   · norm_num
265   · decide +kernel
266   · decide +kernel
267 
268 def witness : SubdivisionWitness polynomial square :=
269  .of_quarters (fun
270   | false,false => .leaf leaf_0.certificate
271   | false,true => .of_quarters (fun
272   | false,false => .leaf leaf_10.certificate
273   | false,true => .leaf leaf_11.certificate
274   | true,false => .leaf leaf_12.certificate
275   | true,true => .of_quarters (fun
276   | false,false => .leaf leaf_130.certificate
277   | false,true => .leaf leaf_131.certificate
278   | true,false => .leaf leaf_132.certificate
279   | true,true => .leaf leaf_133.certificate))
280   | true,false => .of_quarters (fun
281   | false,false => .of_quarters (fun
282   | false,false => .leaf leaf_200.certificate
283   | false,true => .leaf leaf_201.certificate
284   | true,false => .leaf leaf_202.certificate
285   | true,true => .leaf leaf_203.certificate)
286   | false,true => .leaf leaf_21.certificate
287   | true,false => .leaf leaf_22.certificate
288   | true,true => .leaf leaf_23.certificate)
289   | true,true => .leaf leaf_3.certificate)
290 
291 def certifiedWitness : SubdivisionWitness (orientationPolynomial (nominalComparison true) (1/16) false) square :=
292   polynomial_source ▸ witness
293 
294 end
295 end Komorebi.LSM.Section88ComparisonRotatedPosOrientation

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: 5870e5fb23e46e742c975f54ee1ac111054eb473fe898c22bd8f790b9655dffd

Original source on GitHub

Back to Large Signal Model