Skip to content

Commit 9e354fa

Browse files
committed
chore: replace omega by cutsat
omega is going to vanish in the medium term; cutsat's implementation (based on grind) is much more maintainable. Switch to it, when possible. Almost all cases can be converted, except for one in GridStructure, one in LargeSeparation and three in Truncation.
1 parent 87a17a9 commit 9e354fa

31 files changed

+188
-188
lines changed

Carleson/Antichain/AntichainOperator.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ lemma le_C6_1_4 (a4 : 4 ≤ a) :
248248
simp_rw [Tile.C6_1_5, Antichain.C6_1_6, C6_1_4, ← pow_add, ← pow_mul]
249249
gcongr
250250
· exact one_le_two
251-
· have : 𝕔 / 42 * (𝕔 / 8) + 1 := by omega
251+
· have : 𝕔 / 42 * (𝕔 / 8) + 1 := by cutsat
252252
have : (𝕔 / 4) * a ^ 32 * (𝕔 / 8) * a ^ 3 + a ^ 3 :=
253253
(mul_le_mul_of_nonneg_right this (Nat.zero_le _)).trans_eq (by ring)
254254
ring_nf

Carleson/Antichain/AntichainTileCount.lean

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,11 @@ lemma pairwiseDisjoint_𝔄_aux {𝔄 : Set (𝔓 X)} {ϑ : Θ X} :
133133
univ.PairwiseDisjoint (fun N ↦ (𝔄_aux 𝔄 ϑ N).toFinset) := fun i mi j mj hn ↦ by
134134
change Disjoint (𝔄_aux _ _ _).toFinset ((𝔄_aux _ _ _).toFinset)
135135
wlog hl : i < j generalizing i j
136-
· exact (this _ mj _ mi hn.symm (by omega)).symm
136+
· exact (this _ mj _ mi hn.symm (by cutsat)).symm
137137
simp_rw [Finset.disjoint_left, 𝔄_aux, mem_toFinset, mem_setOf_eq, not_and, and_imp]
138138
refine fun p mp md _ ↦ ?_
139139
rw [mem_Ico, not_and_or, not_le]
140-
exact Or.inl <| md.2.trans_le (pow_le_pow_right₀ one_le_two (by omega))
140+
exact Or.inl <| md.2.trans_le (pow_le_pow_right₀ one_le_two (by cutsat))
141141

142142
open Classical in
143143
lemma biUnion_𝔄_aux {𝔄 : Set (𝔓 X)} {ϑ : Θ X} :
@@ -894,7 +894,7 @@ private lemma le_C6_3_4 (ha : 4 ≤ a) :
894894
(((2 : ℝ≥0∞) ^ (a * (N + 5)) + 2 ^ (a * N + a * 3)) * 2 ^ (𝕔 * a ^ 3 + 5 * a)) +
895895
2 ^ (a * (N + 5)) ≤ C6_3_4 a N := by
896896
simp only [add_mul, ← pow_add, C6_3_4, one_mul, ENNReal.coe_pow, ENNReal.coe_ofNat]
897-
apply add_le_pow_two₃ le_rfl (by linarith) (by omega) ?_
897+
apply add_le_pow_two₃ le_rfl (by linarith) (by cutsat) ?_
898898
ring_nf
899899
linarith [sixteen_times_le_cube ha]
900900

@@ -1038,7 +1038,7 @@ lemma tile_count_aux {𝔄 : Set (𝔓 X)} (h𝔄 : IsAntichain (· ≤ ·) 𝔄
10381038
· refine fun p mp ↦ pow_nonneg (mul_nonneg ?_ (indicator_nonneg (by simp) _)) _
10391039
exact mul_nonneg (Real.rpow_nonneg zero_le_two _) (indicator_nonneg (by simp) _)
10401040
simp_rw [enorm_pow, enorm_mul, mul_pow]
1041-
have an0 : a ≠ 0 := by omega
1041+
have an0 : a ≠ 0 := by cutsat
10421042
congr! 3 with p mp
10431043
· rw [Real.rpow_mul zero_le_two, ENNReal.rpow_mul,
10441044
Real.enorm_rpow_of_nonneg (by positivity) (by positivity), Real.rpow_neg zero_le_two,
@@ -1063,13 +1063,13 @@ lemma tile_count_aux {𝔄 : Set (𝔓 X)} (h𝔄 : IsAntichain (· ≤ ·) 𝔄
10631063
· rw [neg_sub_left, ← mul_one_add, neg_mul, neg_mul, neg_le_neg_iff, mul_assoc]
10641064
gcongr; push_cast
10651065
calc
1066-
_ ≤ 3⁻¹ * (4 * a : ℝ) := by rw [le_inv_mul_iff₀ zero_lt_three]; norm_cast; omega
1066+
_ ≤ 3⁻¹ * (4 * a : ℝ) := by rw [le_inv_mul_iff₀ zero_lt_three]; norm_cast; cutsat
10671067
_ = (3 * a ^ 3 : ℝ)⁻¹ * (4 * a ^ 4) := by
10681068
rw [pow_succ' _ 3, ← mul_assoc 4, ← div_eq_inv_mul, ← div_eq_inv_mul,
10691069
mul_div_mul_right _ _ (by positivity)]
10701070
_ ≤ _ := by
10711071
rw [show (3 * a ^ 3 : ℝ) = 2 * a ^ 3 + a ^ 3 by ring]; gcongr
1072-
· norm_cast; omega
1072+
· norm_cast; cutsat
10731073
· norm_num
10741074
· exact global_antichain_density h𝔄 ϑ n
10751075
_ = _ := by
@@ -1104,7 +1104,7 @@ lemma le_C6_1_6 (a4 : 4 ≤ a) :
11041104
_ ≤ _ := by
11051105
rw [C6_1_6]; norm_cast; rw [← pow_add]; gcongr
11061106
· exact one_le_two
1107-
· omega
1107+
· cutsat
11081108

11091109
open Classical in
11101110
/-- Lemma 6.1.6. -/

Carleson/Antichain/Basic.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ lemma norm_Ks_le' {x y : X} {𝔄 : Set (𝔓 X)} (p : 𝔄) (hxE : x ∈ E ↑p
131131
apply h.trans
132132
rw [zpow_sub₀ (by simp), zpow_one, div_div]
133133
apply (ineq_6_1_7 x p).trans
134-
have ha : 6 * a + (𝕔 + 1) * a ^ 3 = (5 * a + (𝕔 + 1) * a ^ 3) + a := by omega
134+
have ha : 6 * a + (𝕔 + 1) * a ^ 3 = (5 * a + (𝕔 + 1) * a ^ 3) + a := by cutsat
135135
simp only [div_eq_mul_inv, ge_iff_le]
136136
rw [ha, pow_add _ (5 * a + (𝕔 + 1) * a ^ 3) a, mul_assoc]
137137
apply mul_le_mul_of_nonneg_left _ (zero_le _)
@@ -212,7 +212,7 @@ lemma maximal_bound_antichain {𝔄 : Set (𝔓 X)} (h𝔄 : IsAntichain (· ≤
212212
rw [C6_1_2, add_comm (5 * a), add_assoc]; norm_cast
213213
apply pow_le_pow_right₀ one_le_two
214214
ring_nf
215-
suffices 6 * a ≤ a ^ 3 by omega
215+
suffices 6 * a ≤ a ^ 3 by cutsat
216216
linarith [sixteen_times_le_cube (four_le_a X)]
217217
· exact lt_of_le_of_lt hdist_cp
218218
(mul_lt_mul_of_nonneg_of_pos (by linarith) (le_refl _) (by linarith) hDpow_pos)

Carleson/Antichain/TileCorrelation.lean

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,9 @@ lemma correlation_kernel_bound {s₁ s₂ : ℤ} {x₁ x₂ : X} (hs : s₁ ≤
154154
rw [← pow_mul]
155155
apply add_le_pow_two ?_ le_rfl ?_
156156
· ring_nf
157-
omega
157+
cutsat
158158
· ring_nf
159-
suffices 1 ≤ a ^ 3 by omega
159+
suffices 1 ≤ a ^ 3 by cutsat
160160
exact one_le_pow₀ (by linarith [four_le_a X])
161161

162162
variable [TileStructure Q D κ S o]
@@ -272,13 +272,13 @@ lemma uncertainty' (ha : 1 ≤ a) {p₁ p₂ : 𝔓 X} (hle : 𝔰 p₁ ≤ 𝔰
272272
apply add_le_add_right
273273
norm_cast
274274
nth_rw 1 [← pow_one 2]
275-
exact Nat.pow_le_pow_right zero_lt_two (by omega)
275+
exact Nat.pow_le_pow_right zero_lt_two (by cutsat)
276276
_ = 2 * (2 : ℝ) ^ (6 * a) := by ring
277277
_ ≤ _ := by
278278
nth_rw 1 [← pow_one 2, ← pow_add]
279279
norm_cast
280-
exact Nat.pow_le_pow_right zero_lt_two (by omega)
281-
have h38 : 38 := by omega
280+
exact Nat.pow_le_pow_right zero_lt_two (by cutsat)
281+
have h38 : 38 := by cutsat
282282
have h12 : (1 : ℝ) ≤ 2 := by norm_num
283283
rw [C6_2_3]
284284
conv_rhs => ring_nf
@@ -367,7 +367,7 @@ lemma I12_le' {p p' : 𝔓 X} (hle : 𝔰 p' ≤ 𝔰 p) {g : X → ℂ} (x1 : E
367367
norm_cast
368368
gcongr
369369
· exact one_le_two
370-
· omega
370+
· cutsat
371371

372372
private lemma exp_ineq (ha : 4 ≤ a) : 0 < (8 * a : ℕ) * -(2 * a ^ 2 + a ^ 3 : ℝ)⁻¹ + 1 := by
373373
have hpos : 0 < (a : ℝ) ^ 2 * 2 + a ^ 3 := by positivity
@@ -389,7 +389,7 @@ lemma I12_le (ha : 4 ≤ a) {p p' : 𝔓 X} (hle : 𝔰 p' ≤ 𝔰 p) {g : X
389389
rw [pow_add 2 _ 1, pow_one, mul_comm _ 2, mul_assoc, mul_comm 2 (_ * _), mul_assoc]
390390
gcongr
391391
-- Now we need to use Lemma 6.2.3 to conclude this inequality.
392-
have h623 := uncertainty (by omega) hle hinter x1.2 x2.2
392+
have h623 := uncertainty (by cutsat) hle hinter x1.2 x2.2
393393
rw [C6_2_3, ENNReal.coe_pow, ENNReal.coe_ofNat] at h623
394394
have hneg : -(2 * a ^ 2 + a ^ 3 : ℝ)⁻¹ < 0 :=
395395
neg_neg_iff_pos.mpr (inv_pos.mpr (by norm_cast; nlinarith))

Carleson/Calculations.lean

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ lemma calculation_3 [PseudoMetricSpace X] [ProofData a q K σ₁ σ₂ F G] {x y
8686
rw [← distrib_three_right ..]
8787
calc (100 + 4 * (D : ℝ) ^ (-2 : ℝ) + 8⁻¹ * D ^ (-3 : ℝ)) * D ^ (x + 3)
8888
_ ≤ (100 + 4 * (D : ℝ) ^ (-2 : ℝ) + 8⁻¹ * D ^ (-3 : ℝ)) * D ^ (y - 1) := by
89-
have h1 : x + 3 ≤ y - 1 := by omega
89+
have h1 : x + 3 ≤ y - 1 := by cutsat
9090
gcongr
9191
linarith [four_le_realD X]
9292
_ = (100 + 4 * (D : ℝ) ^ (-2 : ℝ) + 8⁻¹ * D ^ (-3 : ℝ)) * (D ^ (y) * D ^ (- 1 : ℝ)) := by
@@ -272,7 +272,7 @@ lemma calculation_7_7_4 [PseudoMetricSpace X] [ProofData a q K σ₁ σ₂ F G]
272272
· norm_num
273273
gcongr
274274
· norm_num
275-
omega
275+
cutsat
276276
exact Nat.mul_le_mul this (Nat.le_add_left 1 n)
277277

278278
/-- A bound on the sum of a geometric series whose ratio is close to 1. -/
@@ -340,12 +340,12 @@ lemma calculation_150 [PseudoMetricSpace X] [ProofData a q K σ₁ σ₂ F G] :
340340

341341
lemma sq_le_two_pow_of_four_le (a4 : 4 ≤ a) : a ^ 22 ^ a := by
342342
induction a, a4 using Nat.le_induction with
343-
| base => omega
343+
| base => cutsat
344344
| succ a a4 ih =>
345345
rw [pow_succ 2, mul_two, add_sq, one_pow, mul_one, add_assoc]; gcongr
346346
calc
347-
_ ≤ 3 * a := by omega
348-
_ ≤ a * a := by gcongr; omega
347+
_ ≤ 3 * a := by cutsat
348+
_ ≤ a * a := by gcongr; cutsat
349349
_ ≤ _ := by rwa [← sq]
350350

351351
lemma calculation_6_1_6 (a4 : 4 ≤ a) : 8 * a ^ 42 ^ (2 * a + 3) := by

Carleson/Classical/HilbertStrongType.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,10 +389,10 @@ lemma norm_dirichletApprox_le {n : ℕ} {x : ℝ} :
389389
have : (i : ℕ) < 2 * n := by
390390
simp only [Finset.mem_Ico] at hi
391391
exact hi.2
392-
have : 2 * i + 14 * n := by omega
392+
have : 2 * i + 14 * n := by cutsat
393393
exact_mod_cast this
394394
_ ≤ _ := by
395-
simp only [Finset.sum_const, Nat.card_Ico, show 2 * n - n = n by omega, nsmul_eq_mul,
395+
simp only [Finset.sum_const, Nat.card_Ico, show 2 * n - n = n by cutsat, nsmul_eq_mul,
396396
← mul_assoc]
397397
rcases eq_zero_or_pos n with rfl | hn
398398
· simp

Carleson/Discrete/Defs.lean

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ def 𝓒 (k : ℕ) : Set (Grid X) :=
2121
def TilesAt (k : ℕ) : Set (𝔓 X) := 𝓘 ⁻¹' 𝓒 k
2222

2323
lemma disjoint_TilesAt_of_ne {m n : ℕ} (h : m ≠ n) : Disjoint (TilesAt (X := X) m) (TilesAt n) := by
24-
wlog hl : m < n generalizing m n; · exact (this h.symm (by omega)).symm
24+
wlog hl : m < n generalizing m n; · exact (this h.symm (by cutsat)).symm
2525
by_contra! h; rw [not_disjoint_iff] at h; obtain ⟨p, mp₁, mp₂⟩ := h
2626
simp_rw [TilesAt, mem_preimage, 𝓒, mem_diff, aux𝓒, mem_setOf] at mp₁ mp₂
2727
apply absurd _ mp₂.2; obtain ⟨j, lj, vj⟩ := mp₁.1; use j, lj; apply lt_of_le_of_lt _ vj
28-
exact mul_le_mul_right' (ENNReal.zpow_le_of_le one_le_two (by omega)) _
28+
exact mul_le_mul_right' (ENNReal.zpow_le_of_le one_le_two (by cutsat)) _
2929

3030
lemma pairwiseDisjoint_TilesAt : univ.PairwiseDisjoint (TilesAt (X := X)) := fun _ _ _ _ ↦
3131
disjoint_TilesAt_of_ne
@@ -56,11 +56,11 @@ lemma ℭ_subset_TilesAt {k n : ℕ} : ℭ k n ⊆ TilesAt (X := X) k := fun t m
5656
rw [ℭ, mem_setOf] at mt; exact mt.1
5757

5858
lemma disjoint_ℭ_of_ne {k m n : ℕ} (h : m ≠ n) : Disjoint (ℭ (X := X) k m) (ℭ k n) := by
59-
wlog hl : m < n generalizing m n; · exact (this h.symm (by omega)).symm
59+
wlog hl : m < n generalizing m n; · exact (this h.symm (by cutsat)).symm
6060
by_contra! h; rw [not_disjoint_iff] at h; obtain ⟨p, mp₁, mp₂⟩ := h
6161
apply absurd _ (not_disjoint_iff.mpr ⟨_, mp₁.2, mp₂.2⟩)
6262
rw [Ioc_disjoint_Ioc, le_max_iff]; left; rw [min_le_iff]; right
63-
exact ENNReal.zpow_le_of_le one_le_two (by omega)
63+
exact ENNReal.zpow_le_of_le one_le_two (by cutsat)
6464

6565
lemma pairwiseDisjoint_ℭ :
6666
(univ : Set (ℕ × ℕ)).PairwiseDisjoint (fun kn ↦ ℭ (X := X) kn.1 kn.2) :=
@@ -130,11 +130,11 @@ lemma ℭ₁_subset_ℭ {k n j : ℕ} : ℭ₁ k n j ⊆ ℭ (X := X) k n := fun
130130
rw [ℭ₁, preℭ₁, mem_diff, mem_setOf] at mt; exact mt.1.1
131131

132132
lemma disjoint_ℭ₁_of_ne {k n j l : ℕ} (h : j ≠ l) : Disjoint (ℭ₁ (X := X) k n j) (ℭ₁ k n l) := by
133-
wlog hl : j < l generalizing j l; · exact (this h.symm (by omega)).symm
133+
wlog hl : j < l generalizing j l; · exact (this h.symm (by cutsat)).symm
134134
by_contra! h; rw [not_disjoint_iff] at h; obtain ⟨p, mp₁, mp₂⟩ := h
135135
simp_rw [ℭ₁, mem_diff, preℭ₁, mem_setOf, mp₁.1.1, true_and, not_le] at mp₁ mp₂
136136
have := mp₂.1.trans_lt mp₁.2
137-
rw [pow_lt_pow_iff_right₀ one_lt_two] at this; omega
137+
rw [pow_lt_pow_iff_right₀ one_lt_two] at this; cutsat
138138

139139
lemma pairwiseDisjoint_ℭ₁ {k n : ℕ} : univ.PairwiseDisjoint (ℭ₁ (X := X) k n) := fun _ _ _ _ ↦
140140
disjoint_ℭ₁_of_ne
@@ -317,7 +317,7 @@ lemma setA_subset_iUnion_𝓒 {l k n : ℕ} :
317317
lemma setA_subset_setA {l k n : ℕ} : setA (X := X) (l + 1) k n ⊆ setA l k n := by
318318
refine setOf_subset_setOf.mpr fun x hx ↦ ?_
319319
calc
320-
_ ≤ _ := by gcongr; omega
320+
_ ≤ _ := by gcongr; cutsat
321321
_ < _ := hx
322322

323323
lemma measurable_setA {l k n : ℕ} : MeasurableSet (setA (X := X) l k n) :=

Carleson/Discrete/ExceptionalSet.lean

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ lemma john_nirenberg_aux1 {L : Grid X} (mL : L ∈ Grid.maxCubes (MsetA l k n))
247247
refine stackSize_mono <| sep_subset ..
248248
_ ≤ l * 2 ^ (n + 1) := by rwa [setA, mem_setOf_eq, not_lt] at nx'
249249
-- so the (unchanged) first sum of RHS is at least `2 ^ (n + 1)`
250-
rw [add_one_mul] at mx; omega
250+
rw [add_one_mul] at mx; cutsat
251251

252252
/-- Equation (5.2.11) in the proof of Lemma 5.2.5. -/
253253
lemma john_nirenberg_aux2 {L : Grid X} (mL : L ∈ Grid.maxCubes (MsetA l k n)) :
@@ -314,7 +314,7 @@ lemma john_nirenberg : volume (setA (X := X) l k n) ≤ 2 ^ (k + 1 - l : ℤ) *
314314
suffices 2 * volume (setA (X := X) (l + 1) k n) ≤ volume (setA (X := X) l k n) by
315315
rw [← ENNReal.mul_le_mul_left (a := 2) (by simp) (by simp), ← mul_assoc]; apply this.trans
316316
convert ih using 2; nth_rw 1 [← zpow_one 2, ← ENNReal.zpow_add (by simp) (by simp)]
317-
congr 1; omega
317+
congr 1; cutsat
318318
calc
319319
_ = 2 * ∑ L ∈ Grid.maxCubes (MsetA (X := X) l k n),
320320
volume (setA (X := X) (l + 1) k n ∩ L) := by
@@ -358,11 +358,11 @@ lemma second_exception : volume (G₂ (X := X)) ≤ 2 ^ (-2 : ℤ) * volume G :=
358358
rw [ENNReal.tsum_comm]; congr!; split_ifs <;> simp
359359
_ ≤ ∑' (k : ℕ) (n : ℕ), if k ≤ n then 2 ^ (k - 5 - 2 * n : ℤ) * volume G else 0 := by
360360
gcongr; split_ifs
361-
· convert john_nirenberg using 3; omega
361+
· convert john_nirenberg using 3; cutsat
362362
· rfl
363363
_ = ∑' (k : ℕ), 2 ^ (-k - 5 : ℤ) * volume G * ∑' (n' : ℕ), 2 ^ (- 2 * n' : ℤ) := by
364364
congr with k -- n' = n - k - 1; n = n' + k + 1
365-
have rearr : ∀ n : ℕ, (k - 5 - 2 * n : ℤ) = (-k - 5 + (-2 * (n - k)) : ℤ) := by omega
365+
have rearr : ∀ n : ℕ, (k - 5 - 2 * n : ℤ) = (-k - 5 + (-2 * (n - k)) : ℤ) := by cutsat
366366
conv_lhs =>
367367
enter [1, n]
368368
rw [rearr, ENNReal.zpow_add (by simp) (by simp), ← mul_rotate,
@@ -413,7 +413,7 @@ lemma lintegral_Ioc_layervol_one {l : ℕ} :
413413
unfold layervol; congr with x; constructor <;> intro h
414414
· rw [indicator_sum_eq_natCast, ← Nat.cast_one, ← Nat.cast_add, Nat.cast_le]
415415
rw [indicator_sum_eq_natCast, ← Nat.ceil_le] at h; convert h; symm
416-
rwa [Nat.ceil_eq_iff (by omega), add_tsub_cancel_right, Nat.cast_add, Nat.cast_one]
416+
rwa [Nat.ceil_eq_iff (by cutsat), add_tsub_cancel_right, Nat.cast_add, Nat.cast_one]
417417
· exact ht.2.trans h
418418
_ = layervol k n (l + 1) * volume (Ioc (l : ℝ) (l + 1)) := setLIntegral_const ..
419419
_ = _ := by rw [Real.volume_Ioc, add_sub_cancel_left, ENNReal.ofReal_one, mul_one]
@@ -503,7 +503,7 @@ lemma top_tiles : ∑ m with m ∈ 𝔐 (X := X) k n, volume (𝓘 m : Set X)
503503
_ = _ := by
504504
nth_rw 3 [← pow_one 2]
505505
rw [mul_rotate, ← pow_add, ← mul_assoc, ← pow_add,
506-
show n + 1 + (k + 1 + 1) = n + k + 3 by omega]
506+
show n + 1 + (k + 1 + 1) = n + k + 3 by cutsat]
507507

508508
end TopTiles
509509

@@ -957,7 +957,7 @@ lemma third_exception : volume (G₃ (X := X)) ≤ 2 ^ (-4 : ℤ) * volume G :=
957957
calc
958958
4 + (9 * a + 6)
959959
_ = 9 * a + 10 := by ring
960-
_ ≤ 3 * 4 * a + 4 * 4 := by omega
960+
_ ≤ 3 * 4 * a + 4 * 4 := by cutsat
961961
_ ≤ 3 * a * a + a * a := by gcongr <;> linarith [four_le_a X]
962962
_ = 4 * a ^ 2 := by ring
963963
_ ≤ 𝕔 * a ^ 2 := by

Carleson/Discrete/ForestComplement.lean

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ lemma exists_k_n_of_mem_𝔓pos (h : p ∈ 𝔓pos (X := X)) : ∃ k n, p ∈
117117
ENNReal.toReal_le_toReal dens'_lt_top.ne (by simp)]
118118
exact_mod_cast dens'_le
119119
have klq : k ≤ ⌊v⌋₊ := Nat.le_floor klv
120-
let n : ℕ := 4 * a + ⌊v⌋₊ + 1; use n; refine ⟨⟨mp, ?_⟩, by omega
121-
rw [show 4 * (a : ℤ) - (4 * a + ⌊v⌋₊ + 1 : ℕ) = (-⌊v⌋₊ - 1 : ℤ) by omega, sub_add_cancel, mem_Ioc,
120+
let n : ℕ := 4 * a + ⌊v⌋₊ + 1; use n; refine ⟨⟨mp, ?_⟩, by cutsat
121+
rw [show 4 * (a : ℤ) - (4 * a + ⌊v⌋₊ + 1 : ℕ) = (-⌊v⌋₊ - 1 : ℤ) by cutsat, sub_add_cancel, mem_Ioc,
122122
← ENNReal.ofReal_toReal dens'_lt_top.ne, ← ENNReal.rpow_intCast, ← ENNReal.rpow_intCast,
123123
show (2 : ℝ≥0∞) = ENNReal.ofReal (2 : ℝ) by norm_cast,
124124
ENNReal.ofReal_rpow_of_pos zero_lt_two, ENNReal.ofReal_rpow_of_pos zero_lt_two,
@@ -137,7 +137,7 @@ private lemma two_mul_n_add_six_lt : 2 * n + 6 < 2 ^ (n + 3) := by
137137
calc
138138
_ = 2 * n + 6 + 2 := by ring
139139
_ < 2 ^ (n + 3) + 2 := by gcongr
140-
_ < 2 ^ (n + 3) + 2 ^ (n + 3) := by omega
140+
_ < 2 ^ (n + 3) + 2 ^ (n + 3) := by cutsat
141141
_ = _ := by ring
142142

143143
lemma exists_j_of_mem_𝔓pos_ℭ (h : p ∈ 𝔓pos (X := X)) (mp : p ∈ ℭ k n) (hkn : k ≤ n) :
@@ -163,13 +163,13 @@ lemma exists_j_of_mem_𝔓pos_ℭ (h : p ∈ 𝔓pos (X := X)) (mp : p ∈ ℭ k
163163
Finset.filter_filter]; rfl
164164
_ ≤ (2 * n + 6) * 2 ^ (n + 1) := by rwa [setA, mem_setOf, not_lt] at nx
165165
_ < _ := by
166-
rw [show 2 * n + 4 = (n + 3) + (n + 1) by omega, pow_add _ (n + 3)]
166+
rw [show 2 * n + 4 = (n + 3) + (n + 1) by cutsat, pow_add _ (n + 3)]
167167
exact mul_lt_mul_of_pos_right two_mul_n_add_six_lt (by positivity)
168168
rcases B.eq_zero_or_pos with Bz | Bpos
169169
· simp_rw [B, filter_mem_univ_eq_toFinset, Finset.card_eq_zero, toFinset_eq_empty] at Bz
170170
exact Or.inl ⟨mp, Bz⟩
171171
· right; use Nat.log 2 B; rw [← Nat.log_lt_iff_lt_pow one_lt_two Bpos.ne'] at Blt
172-
refine ⟨by omega, (?_ : _ ∧ _ ≤ B), (?_ : ¬(_ ∧ _ ≤ B))⟩
172+
refine ⟨by cutsat, (?_ : _ ∧ _ ≤ B), (?_ : ¬(_ ∧ _ ≤ B))⟩
173173
· exact ⟨mp, Nat.pow_log_le_self 2 Bpos.ne'⟩
174174
· rw [not_and, not_le]; exact fun _ ↦ Nat.lt_pow_succ_log_self one_lt_two _
175175

@@ -379,7 +379,7 @@ lemma lt_quotient_rearrange :
379379
congr 1
380380
rw [ENNReal.coe_pow, ENNReal.coe_ofNat, ← zpow_natCast,
381381
← ENNReal.zpow_add two_ne_zero ENNReal.ofNat_ne_top]
382-
congr 1; omega
382+
congr 1; cutsat
383383

384384
lemma l_upper_bound : l < 2 ^ n := by
385385
have ql1 : volume (E₂ l p') / volume (𝓘 p' : Set X) ≤ 1 := by
@@ -441,7 +441,7 @@ lemma iUnion_L0' : ⋃ (l < n), 𝔏₀' (X := X) k n l = 𝔏₀ k n := by
441441
suffices ¬∃ s : LTSeries (𝔏₀ (X := X) k n), s.length = n by
442442
rcases lt_or_ge p.length n with c | c
443443
· exact c
444-
· exact absurd ⟨p.take ⟨n, by omega⟩, by rw [RelSeries.take_length]⟩ this
444+
· exact absurd ⟨p.take ⟨n, by cutsat⟩, by rw [RelSeries.take_length]⟩ this
445445
by_contra h; obtain ⟨s, hs⟩ := h; let sl := s.last; have dsl := sl.2.1.2.1
446446
simp_rw [dens', lt_iSup_iff, mem_singleton_iff, exists_prop, exists_eq_left] at dsl
447447
obtain ⟨l, hl, p', mp', sp', qp'⟩ := dsl
@@ -507,7 +507,7 @@ lemma iUnion_L0' : ⋃ (l < n), 𝔏₀' (X := X) k n l = 𝔏₀ k n := by
507507
simp [div_pow]; ring
508508
_ ≤ 1 + 2 * (2 / 256) ^ 0 + (1 / 256) ^ 0 * 3 := by
509509
gcongr 1 + 2 * ?_ + ?_ * 3 <;>
510-
exact pow_le_pow_of_le_one (by norm_num) (by norm_num) (by omega)
510+
exact pow_le_pow_of_le_one (by norm_num) (by norm_num) (by cutsat)
511511
_ < _ := by norm_num
512512

513513
/-- Part of Lemma 5.5.2 -/
@@ -1019,7 +1019,7 @@ lemma lintegral_carlesonSum_𝔓₁_compl_le_sum_aux1 [ProofData a q K σ₁ σ
10191019
_ = 2 ^ (28 * a + 20) / (q - 1) ^ 4 := by
10201020
simp only [← pow_add]
10211021
congr
1022-
omega
1022+
cutsat
10231023

10241024
omit [TileStructure Q D κ S o] in
10251025
lemma lintegral_carlesonSum_𝔓₁_compl_le_sum_aux2 {N : ℕ} :
@@ -1079,7 +1079,7 @@ lemma C5_1_3_optimized_le_C5_1_3 : C5_1_3_optimized a nnq ≤ C5_1_3 a nnq := by
10791079
have := four_le_a X
10801080
gcongr; · exact one_le_two
10811081
calc
1082-
_ ≤ 3 * 4 * 4 * a := by omega
1082+
_ ≤ 3 * 4 * 4 * a := by cutsat
10831083
_ ≤ 3 * a * a * a := by gcongr
10841084
_ = _ := by ring
10851085
_ = 2 ^ ((𝕔 + 5 + 𝕔 / 8) * a ^ 3 + 3 * a ^ 3) / (nnq - 1) ^ (4 + 1) := by

0 commit comments

Comments
 (0)