Large Signal Model · Lean source

Section88ComparisonDirectPosOrientation.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/Section88ComparisonDirectPosOrientation.lean344 lines

Original source pathLean/KomorebiLSM/Section88ComparisonDirectPosOrientation.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: direct, chart 1, orientation. -/
5 set_option autoImplicit false
6 set_option maxRecDepth 4000
7 set_option maxHeartbeats 800000
8 namespace Komorebi.LSM.Section88ComparisonDirectPosOrientation
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 (168021/160000 : ℚ)*MvPolynomial.X 0^1*MvPolynomial.X 1^0 +
16 MvPolynomial.C (-168021/160000 : ℚ)*MvPolynomial.X 0^1*MvPolynomial.X 1^2 +
17 MvPolynomial.C (251979/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 false) (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_00 : Rectangle := ((square.quarter false false).quarter false false)
29 def leaf_00 : RecordedLeaf polynomial cell_00 := by
30   let c : Fin 3 → Fin 3 → ℚ := ![![(971979/160000 : ℚ),(515979/128000 : ℚ),(359979/128000 : ℚ)],![(2375937/640000 : ℚ),(1223937/512000 : ℚ),(809937/512000 : ℚ)],![(746979/320000 : ℚ),(380979/256000 : ℚ),(247479/256000 : ℚ)]]
31   refine ⟨⟨2,2,c,?_,?_⟩,(247479/256000 : ℚ),?_,?_,?_⟩
32   · decide +kernel
33   · apply MvPolynomial.funext
34     intro x
35     norm_num [Rectangle.localPolynomial,cell_00,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_01 : Rectangle := ((square.quarter false false).quarter false true)
44 def leaf_01 : RecordedLeaf polynomial cell_01 := by
45   let c : Fin 3 → Fin 3 → ℚ := ![![(359979/128000 : ℚ),(203979/128000 : ℚ),(191979/160000 : ℚ)],![(809937/512000 : ℚ),(395937/512000 : ℚ),(305937/640000 : ℚ)],![(247479/256000 : ℚ),(113979/256000 : ℚ),(79479/320000 : ℚ)]]
46   refine ⟨⟨2,2,c,?_,?_⟩,(79479/320000 : ℚ),?_,?_,?_⟩
47   · decide +kernel
48   · apply MvPolynomial.funext
49     intro x
50     norm_num [Rectangle.localPolynomial,cell_01,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_02 : Rectangle := ((square.quarter false false).quarter true false)
59 def leaf_02 : RecordedLeaf polynomial cell_02 := by
60   let c : Fin 3 → Fin 3 → ℚ := ![![(746979/320000 : ℚ),(380979/256000 : ℚ),(247479/256000 : ℚ)],![(611979/640000 : ℚ),(299979/512000 : ℚ),(179979/512000 : ℚ)],![(9/16 : ℚ),(27/64 : ℚ),(45/128 : ℚ)]]
61   refine ⟨⟨2,2,c,?_,?_⟩,(179979/512000 : ℚ),?_,?_,?_⟩
62   · decide +kernel
63   · apply MvPolynomial.funext
64     intro x
65     norm_num [Rectangle.localPolynomial,cell_02,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_03 : Rectangle := ((square.quarter false false).quarter true true)
74 def leaf_03 : RecordedLeaf polynomial cell_03 := by
75   let c : Fin 3 → Fin 3 → ℚ := ![![(247479/256000 : ℚ),(113979/256000 : ℚ),(79479/320000 : ℚ)],![(179979/512000 : ℚ),(59979/512000 : ℚ),(11979/640000 : ℚ)],![(45/128 : ℚ),(9/32 : ℚ),(9/32 : ℚ)]]
76   refine ⟨⟨2,2,c,?_,?_⟩,(11979/640000 : ℚ),?_,?_,?_⟩
77   · decide +kernel
78   · apply MvPolynomial.funext
79     intro x
80     norm_num [Rectangle.localPolynomial,cell_03,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_10 : Rectangle := ((square.quarter false true).quarter false false)
89 def leaf_10 : RecordedLeaf polynomial cell_10 := by
90   let c : Fin 3 → Fin 3 → ℚ := ![![(191979/160000 : ℚ),(515937/640000 : ℚ),(791979/640000 : ℚ)],![(305937/640000 : ℚ),(467811/2560000 : ℚ),(1025937/2560000 : ℚ)],![(79479/320000 : ℚ),(65937/1280000 : ℚ),(229479/1280000 : ℚ)]]
91   refine ⟨⟨2,2,c,?_,?_⟩,(65937/1280000 : ℚ),?_,?_,?_⟩
92   · decide +kernel
93   · apply MvPolynomial.funext
94     intro x
95     norm_num [Rectangle.localPolynomial,cell_10,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_11 : Rectangle := ((square.quarter false true).quarter false true)
104 def leaf_11 : RecordedLeaf polynomial cell_11 := by
105   let c : Fin 3 → Fin 3 → ℚ := ![![(791979/640000 : ℚ),(1068021/640000 : ℚ),(468021/160000 : ℚ)],![(1025937/2560000 : ℚ),(1584063/2560000 : ℚ),(864063/640000 : ℚ)],![(229479/1280000 : ℚ),(393021/1280000 : ℚ),(243021/320000 : ℚ)]]
106   refine ⟨⟨2,2,c,?_,?_⟩,(229479/1280000 : ℚ),?_,?_,?_⟩
107   · decide +kernel
108   · apply MvPolynomial.funext
109     intro x
110     norm_num [Rectangle.localPolynomial,cell_11,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_120 : Rectangle := (((square.quarter false true).quarter true false).quarter false false)
119 def leaf_120 : RecordedLeaf polynomial cell_120 := by
120   let c : Fin 3 → Fin 3 → ℚ := ![![(79479/320000 : ℚ),(383853/2560000 : ℚ),(679269/5120000 : ℚ)],![(170937/1280000 : ℚ),(611559/10240000 : ℚ),(890307/20480000 : ℚ)],![(90729/640000 : ℚ),(473853/5120000 : ℚ),(870519/10240000 : ℚ)]]
121   refine ⟨⟨2,2,c,?_,?_⟩,(890307/20480000 : ℚ),?_,?_,?_⟩
122   · decide +kernel
123   · apply MvPolynomial.funext
124     intro x
125     norm_num [Rectangle.localPolynomial,cell_120,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_121 : Rectangle := (((square.quarter false true).quarter true false).quarter false true)
134 def leaf_121 : RecordedLeaf polynomial cell_121 := by
135   let c : Fin 3 → Fin 3 → ℚ := ![![(679269/5120000 : ℚ),(36927/320000 : ℚ),(229479/1280000 : ℚ)],![(890307/20480000 : ℚ),(69687/2560000 : ℚ),(350937/5120000 : ℚ)],![(870519/10240000 : ℚ),(198333/2560000 : ℚ),(285729/2560000 : ℚ)]]
136   refine ⟨⟨2,2,c,?_,?_⟩,(69687/2560000 : ℚ),?_,?_,?_⟩
137   · decide +kernel
138   · apply MvPolynomial.funext
139     intro x
140     norm_num [Rectangle.localPolynomial,cell_121,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_122 : Rectangle := (((square.quarter false true).quarter true false).quarter true false)
149 def leaf_122 : RecordedLeaf polynomial cell_122 := by
150   let c : Fin 3 → Fin 3 → ℚ := ![![(90729/640000 : ℚ),(473853/5120000 : ℚ),(870519/10240000 : ℚ)],![(191979/1280000 : ℚ),(1283853/10240000 : ℚ),(2591769/20480000 : ℚ)],![(9/32 : ℚ),(9/32 : ℚ),(153/512 : ℚ)]]
151   refine ⟨⟨2,2,c,?_,?_⟩,(870519/10240000 : ℚ),?_,?_,?_⟩
152   · decide +kernel
153   · apply MvPolynomial.funext
154     intro x
155     norm_num [Rectangle.localPolynomial,cell_122,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_123 : Rectangle := (((square.quarter false true).quarter true false).quarter true true)
164 def leaf_123 : RecordedLeaf polynomial cell_123 := by
165   let c : Fin 3 → Fin 3 → ℚ := ![![(870519/10240000 : ℚ),(198333/2560000 : ℚ),(285729/2560000 : ℚ)],![(2591769/20480000 : ℚ),(326979/2560000 : ℚ),(791979/5120000 : ℚ)],![(153/512 : ℚ),(81/256 : ℚ),(45/128 : ℚ)]]
166   refine ⟨⟨2,2,c,?_,?_⟩,(198333/2560000 : ℚ),?_,?_,?_⟩
167   · decide +kernel
168   · apply MvPolynomial.funext
169     intro x
170     norm_num [Rectangle.localPolynomial,cell_123,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_130 : Rectangle := (((square.quarter false true).quarter true true).quarter false false)
179 def leaf_130 : RecordedLeaf polynomial cell_130 := by
180   let c : Fin 3 → Fin 3 → ℚ := ![![(229479/1280000 : ℚ),(249/1024 : ℚ),(397521/1024000 : ℚ)],![(350937/5120000 : ℚ),(225/2048 : ℚ),(855063/4096000 : ℚ)],![(285729/2560000 : ℚ),(597/4096 : ℚ),(453771/2048000 : ℚ)]]
181   refine ⟨⟨2,2,c,?_,?_⟩,(350937/5120000 : ℚ),?_,?_,?_⟩
182   · decide +kernel
183   · apply MvPolynomial.funext
184     intro x
185     norm_num [Rectangle.localPolynomial,cell_130,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_131 : Rectangle := (((square.quarter false true).quarter true true).quarter false true)
194 def leaf_131 : RecordedLeaf polynomial cell_131 := by
195   let c : Fin 3 → Fin 3 → ℚ := ![![(397521/1024000 : ℚ),(273021/512000 : ℚ),(243021/320000 : ℚ)],![(855063/4096000 : ℚ),(630063/2048000 : ℚ),(594063/1280000 : ℚ)],![(453771/2048000 : ℚ),(304521/1024000 : ℚ),(265521/640000 : ℚ)]]
196   refine ⟨⟨2,2,c,?_,?_⟩,(855063/4096000 : ℚ),?_,?_,?_⟩
197   · decide +kernel
198   · apply MvPolynomial.funext
199     intro x
200     norm_num [Rectangle.localPolynomial,cell_131,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_132 : Rectangle := (((square.quarter false true).quarter true true).quarter true false)
209 def leaf_132 : RecordedLeaf polynomial cell_132 := by
210   let c : Fin 3 → Fin 3 → ℚ := ![![(285729/2560000 : ℚ),(597/4096 : ℚ),(453771/2048000 : ℚ)],![(791979/5120000 : ℚ),(93/512 : ℚ),(960021/4096000 : ℚ)],![(45/128 : ℚ),(99/256 : ℚ),(225/512 : ℚ)]]
211   refine ⟨⟨2,2,c,?_,?_⟩,(285729/2560000 : ℚ),?_,?_,?_⟩
212   · decide +kernel
213   · apply MvPolynomial.funext
214     intro x
215     norm_num [Rectangle.localPolynomial,cell_132,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_133 : Rectangle := (((square.quarter false true).quarter true true).quarter true true)
224 def leaf_133 : RecordedLeaf polynomial cell_133 := by
225   let c : Fin 3 → Fin 3 → ℚ := ![![(453771/2048000 : ℚ),(304521/1024000 : ℚ),(265521/640000 : ℚ)],![(960021/4096000 : ℚ),(588021/2048000 : ℚ),(468021/1280000 : ℚ)],![(225/512 : ℚ),(63/128 : ℚ),(9/16 : ℚ)]]
226   refine ⟨⟨2,2,c,?_,?_⟩,(453771/2048000 : ℚ),?_,?_,?_⟩
227   · decide +kernel
228   · apply MvPolynomial.funext
229     intro x
230     norm_num [Rectangle.localPolynomial,cell_133,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_20 : Rectangle := ((square.quarter true false).quarter false false)
239 def leaf_20 : RecordedLeaf polynomial cell_20 := by
240   let c : Fin 3 → Fin 3 → ℚ := ![![(9/16 : ℚ),(27/64 : ℚ),(45/128 : ℚ)],![(108021/640000 : ℚ),(132021/512000 : ℚ),(180021/512000 : ℚ)],![(243021/320000 : ℚ),(213021/256000 : ℚ),(247521/256000 : ℚ)]]
241   refine ⟨⟨2,2,c,?_,?_⟩,(108021/640000 : ℚ),?_,?_,?_⟩
242   · decide +kernel
243   · apply MvPolynomial.funext
244     intro x
245     norm_num [Rectangle.localPolynomial,cell_20,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_21 : Rectangle := ((square.quarter true false).quarter false true)
254 def leaf_21 : RecordedLeaf polynomial cell_21 := by
255   let c : Fin 3 → Fin 3 → ℚ := ![![(45/128 : ℚ),(9/32 : ℚ),(9/32 : ℚ)],![(180021/512000 : ℚ),(228021/512000 : ℚ),(348021/640000 : ℚ)],![(247521/256000 : ℚ),(282021/256000 : ℚ),(415521/320000 : ℚ)]]
256   refine ⟨⟨2,2,c,?_,?_⟩,(9/32 : ℚ),?_,?_,?_⟩
257   · decide +kernel
258   · apply MvPolynomial.funext
259     intro x
260     norm_num [Rectangle.localPolynomial,cell_21,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 cell_22 : Rectangle := ((square.quarter true false).quarter true false)
269 def leaf_22 : RecordedLeaf polynomial cell_22 := by
270   let c : Fin 3 → Fin 3 → ℚ := ![![(243021/320000 : ℚ),(213021/256000 : ℚ),(247521/256000 : ℚ)],![(864063/640000 : ℚ),(720063/512000 : ℚ),(810063/512000 : ℚ)],![(468021/160000 : ℚ),(348021/128000 : ℚ),(360021/128000 : ℚ)]]
271   refine ⟨⟨2,2,c,?_,?_⟩,(243021/320000 : ℚ),?_,?_,?_⟩
272   · decide +kernel
273   · apply MvPolynomial.funext
274     intro x
275     norm_num [Rectangle.localPolynomial,cell_22,Rectangle.quarter,Rectangle.half,
276       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
277       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
278     ring
279   · norm_num
280   · decide +kernel
281   · decide +kernel
282 
283 def cell_23 : Rectangle := ((square.quarter true false).quarter true true)
284 def leaf_23 : RecordedLeaf polynomial cell_23 := by
285   let c : Fin 3 → Fin 3 → ℚ := ![![(247521/256000 : ℚ),(282021/256000 : ℚ),(415521/320000 : ℚ)],![(810063/512000 : ℚ),(900063/512000 : ℚ),(1314063/640000 : ℚ)],![(360021/128000 : ℚ),(372021/128000 : ℚ),(528021/160000 : ℚ)]]
286   refine ⟨⟨2,2,c,?_,?_⟩,(247521/256000 : ℚ),?_,?_,?_⟩
287   · decide +kernel
288   · apply MvPolynomial.funext
289     intro x
290     norm_num [Rectangle.localPolynomial,cell_23,Rectangle.quarter,Rectangle.half,
291       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
292       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
293     ring
294   · norm_num
295   · decide +kernel
296   · decide +kernel
297 
298 def cell_3 : Rectangle := (square.quarter true true)
299 def leaf_3 : RecordedLeaf polynomial cell_3 := by
300   let c : Fin 3 → Fin 3 → ℚ := ![![(9/32 : ℚ),(9/32 : ℚ),(9/16 : ℚ)],![(258021/320000 : ℚ),(768021/640000 : ℚ),(431979/320000 : ℚ)],![(528021/160000 : ℚ),(1308021/320000 : ℚ),(971979/160000 : ℚ)]]
301   refine ⟨⟨2,2,c,?_,?_⟩,(9/32 : ℚ),?_,?_,?_⟩
302   · decide +kernel
303   · apply MvPolynomial.funext
304     intro x
305     norm_num [Rectangle.localPolynomial,cell_3,Rectangle.quarter,Rectangle.half,
306       Rectangle.lower,Rectangle.upper,Rectangle.width,square,polynomial,c,tensorPolynomial,
307       basisPolynomial,Nat.choose,Fin.sum_univ_succ,Matrix.cons_val_two,Matrix.cons_val_three,Matrix.cons_val_four]
308     ring
309   · norm_num
310   · decide +kernel
311   · decide +kernel
312 
313 def witness : SubdivisionWitness polynomial square :=
314  .of_quarters (fun
315   | false,false => .of_quarters (fun
316   | false,false => .leaf leaf_00.certificate
317   | false,true => .leaf leaf_01.certificate
318   | true,false => .leaf leaf_02.certificate
319   | true,true => .leaf leaf_03.certificate)
320   | false,true => .of_quarters (fun
321   | false,false => .leaf leaf_10.certificate
322   | false,true => .leaf leaf_11.certificate
323   | true,false => .of_quarters (fun
324   | false,false => .leaf leaf_120.certificate
325   | false,true => .leaf leaf_121.certificate
326   | true,false => .leaf leaf_122.certificate
327   | true,true => .leaf leaf_123.certificate)
328   | true,true => .of_quarters (fun
329   | false,false => .leaf leaf_130.certificate
330   | false,true => .leaf leaf_131.certificate
331   | true,false => .leaf leaf_132.certificate
332   | true,true => .leaf leaf_133.certificate))
333   | true,false => .of_quarters (fun
334   | false,false => .leaf leaf_20.certificate
335   | false,true => .leaf leaf_21.certificate
336   | true,false => .leaf leaf_22.certificate
337   | true,true => .leaf leaf_23.certificate)
338   | true,true => .leaf leaf_3.certificate)
339 
340 def certifiedWitness : SubdivisionWitness (orientationPolynomial (nominalComparison false) (1/16) false) square :=
341   polynomial_source ▸ witness
342 
343 end
344 end Komorebi.LSM.Section88ComparisonDirectPosOrientation

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: 51ffae2e2640d8ecf2acf6ce8858fd58c616f9d717a0cf098136bb002e4942cb

Original source on GitHub

Back to Large Signal Model