\documentclass[10pt]{amsart} \usepackage[margin=1in]{geometry} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{amsmath,amssymb,amsthm,mathtools} \usepackage{microtype} \usepackage{url} \usepackage{enumitem} \usepackage{alltt} \usepackage{booktabs} \usepackage[dvipsnames]{xcolor} \usepackage[colorlinks=true,linkcolor=MidnightBlue,citecolor=OliveGreen,urlcolor=MidnightBlue]{hyperref} \usepackage[capitalize,nameinlink]{cleveref} \setlist{leftmargin=*,itemsep=2pt,topsep=4pt} \emergencystretch=2.5em \theoremstyle{plain} \newtheorem{theorem}{Theorem}[section] \newtheorem{lemma}[theorem]{Lemma} \newtheorem{proposition}[theorem]{Proposition} \newtheorem{corollary}[theorem]{Corollary} \newtheorem{importedtheorem}[theorem]{Imported Theorem} \theoremstyle{definition} \newtheorem{definition}[theorem]{Definition} \newtheorem{example}[theorem]{Example} \theoremstyle{remark} \newtheorem{remark}[theorem]{Remark} \crefname{importedtheorem}{Imported Theorem}{Imported Theorems} \numberwithin{equation}{section} \newcommand{\A}{\textup{[A]}} \newcommand{\Oa}{\textup{[O]}} \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\tl}{\tau^{<}} \newcommand{\rate}{2^{O(n/\sqrt{\log n})}} % Lean names: typewriter, with line breaks allowed after '.' and '_'. \DeclareUrlCommand\lean{\urlstyle{tt}\def\UrlBreaks{\do\.\do\_}\def\UrlBigBreaks{}} % Repository names: typewriter, with line breaks allowed after '/' and '-'. \DeclareUrlCommand\repo{\urlstyle{tt}\def\UrlBreaks{\do\/\do\-}\def\UrlBigBreaks{}} \begin{document} \title[The parity of $\pi(x)$ in time $x^{o(1)}$]{The parity of the prime-counting function in time $x^{o(1)}$,\\ assuming the new $\#$SAT algorithms} \author{Vaibhav Tulsyan} \date{November 2026} \subjclass[2020]{11Y11, 11Y16, 11N05, 68Q25, 03B35} \keywords{Prime-counting function, parity, squarefree numbers, M\"obius function, deterministic prime finding, exact counting, Exponential Time Hypothesis, Lean~4, formal verification} \begin{abstract} Computing the prime-counting function $\pi(x)$ exactly takes $x^{1/2+o(1)}$ steps by the analytic method of Lagarias and Odlyzko, and to our knowledge its parity is known faster only on short intervals: Tao, Croot and Helfgott decide whether an interval of length at most $x^{1/2+c}$ near $x$ contains an odd number of primes in time $x^{1/2-c+o(1)}$. However, their identity needs the M\"obius function $\mu(d)$ for all $d\le\sqrt x$, and we know of no bound of the form $x^{o(1)}$ for the parity, even conditionally. We present deterministic algorithms that output $\pi(x)\bmod2$ and the parity of the number of primes in any interval $[A,B]$ in time $2^{O(n/\sqrt{\log n})}=x^{o(1)}$, where $n$ is the input bit length. Our approach replaces $\mu(d)$ by its residue modulo $2$, which is the squarefree indicator again: the number of chains $d_1^2\mid m$, $d_2^2\mid d_1,\dots$ of depth $L$ is odd exactly when $m$ is squarefree, for $m<2^{2^L}$. The parity of $\pi$ on $[A,B]$ is then the parity of one count of tuples satisfying $O(\log n)$ multiplications, which Anthropic's counting engine evaluates through a network whose variables have geometrically shrinking widths. We prove both theorems in Lean~4 (\texttt{piParity\_TM\_rate}, \texttt{piIntervalParity\_TM\_rate}; axioms \texttt{propext}, \texttt{Classical.choice}, \texttt{Quot.sound}). The result does not give deterministic prime finding or the exact value of $\pi(x)$: the parity can be even on every interval one queries, and exact counts seem to need iterated products, for whose product-tree verifiers we prove a lower bound in Lean. The constants are astronomical, and the result rests on Anthropic's Lean development of its claimed refutation of the Exponential Time Hypothesis, which is under review. \end{abstract} \maketitle % ===================================================================== \section{Introduction}\label{sec:intro} % ===================================================================== How fast can one count primes? The prime-counting function $\pi(x)$ is computed exactly in $x^{2/3+o(1)}$ steps by the combinatorial method of Meissel, Lehmer, Lagarias, Miller and Odlyzko~\cite{LMO85,DR96}, and in $x^{1/2+o(1)}$ steps by the analytic method of Lagarias and Odlyzko~\cite{LO87}. The same bound $x^{1/2+o(1)}$ is the best known for deterministically \emph{finding} a prime between $x$ and $2x$, the question of the Polymath4 project~\cite{Tao09,TCH12}. Tao, Croot and Helfgott~\cite{TCH12} showed that one bit of $\pi$ can be had faster: they decide whether an interval $[a,b]\subseteq[N,2N]$ of length at most $N^{1/2+c}$ contains an odd number of primes in time $O(N^{1/2-c+o(1)})$, for an absolute $c>0$ (their Theorem~1.2), and Lelechenko~\cite{Lel13} made $c$ explicit. However, both results are for short intervals, and the obstacle to longer ones is structural. The identity behind~\cite{TCH12} sums a divisor-sum function over $d\le\sqrt N$ with weights $\mu(d)$, and $\mu(d)$ for every $d\le\sqrt N$ is itself an $N^{1/2}$ computation. We are not aware of a published bound below $x^{1/2+o(1)}$ for $\pi(x)\bmod 2$; Sladkey~\cite[ref.~5]{Sla12} cites a manuscript by Oliveira e Silva on computing the parity of $\pi$ as in preparation, and we could not find it. In October 2026 OpenAI~\cite{OpenAI26} and Anthropic~\cite{Anthropic26} (below \Oa{} and \A) each claimed a deterministic algorithm that counts the satisfying assignments of a $k$-CNF in subexponential time, refuting the Exponential Time Hypothesis; both claims come with Lean~4 developments and are under review. Rudich and Rousseau~\cite{RR26} used the engines to factor in $N^{o(1)}$, and our earlier notes~\cite{TulFac26,TulCN26} proved in Lean, on \A's engine, bounds of the form $\rate$ for factoring, class numbers, square roots and divisor sums. We found no derivation of a parity result for $\pi$ from either refutation (\cref{sec:related}). \subsection{The problem and the running example} We consider the \emph{interval prime parity} problem: given $A$ and $B$, output $\pi([A,B])\bmod 2$, where $\pi([A,B])=\#\{p\text{ prime}:A\le p\le B\}$. The case $A=1$, $B=x$ is $\pi(x)\bmod2$. We write $\tl(m)=\#\{(a,b):ab=m,\ a 1 | L+1, n => \(\sum\) d \(\in\) n.divisors.filter (fun d => d * d \(\mid\) n), chainCount L d def tauLt (m : \(\mathbb{N}\)) : \(\mathbb{N}\) := ((Nat.divisorsAntidiagonal m).filter fun p => p.1 < p.2).card \end{alltt} so \lean{chainCount}~$L$~$n=C_L(n)$ for $n\ge1$ and \lean{tauLt}~$m=\tl(m)$. \begin{lemma}[Chain lemma; \lean{chainCount_mod_two}]\label{lem:chain} For $L\ge0$ and $1\le n<2^{2^L}$, $C_L(n)\equiv[n\text{ squarefree}]\pmod2$. In Lean: \begin{alltt}\footnotesize theorem chainCount_mod_two \{L n : \(\mathbb{N}\)\} (h1 : 1 \(\le\) n) (h : n < 2 ^ 2 ^ L) : chainCount L n % 2 = if Squarefree n then 1 else 0 \end{alltt} \end{lemma} \begin{proof} Write $n=st^2$ with $s$ squarefree (\lean{Nat.sq_mul_squarefree_of_pos}). Then $d^2\mid n$ if and only if $d\mid t$ (\lean{dvd_of_mul_self_dvd}), and $n$ is squarefree if and only if $t=1$. Read the identity $\sum_{d\mid t}\mu(d)=[t=1]$ modulo $2$, where $\mu(d)\equiv[d\text{ squarefree}]$: \begin{equation}\label{eq:mu2} \#\{d:\ d^2\mid n,\ d\text{ squarefree}\}\ \equiv\ \sum_{d\mid t}\mu(d)\ =\ [n\text{ squarefree}]\pmod 2 \end{equation} (\lean{key_zmod}). Now induct on $L$. For $L=0$, $n<2$ forces $n=1$, and $C_0(1)=1$. For $L+1$, $C_{L+1}(n)=\sum_{d^2\mid n}C_L(d)$, and every such $d$ satisfies $d\le\sqrt n<2^{2^L}$, so by induction $C_L(d)\equiv[d\text{ squarefree}]$, and~\eqref{eq:mu2} finishes. \end{proof} \noindent The hypothesis $n<2^{2^L}$ cannot be dropped: $C_1(16)=3$ counts $d_1\in\{1,2,4\}$, but $16$ is not squarefree, while $C_2(16)=C_1(1)+C_1(2)+C_1(4)=4$ is even. The depth must grow like $\log_2 n$. \begin{proposition}[One-count identity; \lean{primeParity}]\label{prop:onecount} If $B<2^{2^L}$, then $\sum_{m=A}^{B}\tl(m)\,C_L(m)\equiv\pi([A,B])\pmod2$. In Lean: \begin{alltt}\footnotesize theorem primeParity \{L A B : \(\mathbb{N}\)\} (hB : B < 2 ^ 2 ^ L) : (\(\sum\) m \(\in\) Finset.Icc A B, tauLt m * chainCount L m) % 2 = ((Finset.Icc A B).filter Nat.Prime).card % 2 theorem primeCounting_eq_card (x : \(\mathbb{N}\)) : Nat.primeCounting x = ((Finset.Icc 1 x).filter Nat.Prime).card \end{alltt} \end{proposition} \begin{proof} We show that each summand is odd exactly when $m$ is prime (\lean{term_zmod}). For $m=0$ and $m=1$, $\tl(m)=0$. For $m\ge2$ not squarefree, $C_L(m)$ is even by \cref{lem:chain}. For $m\ge2$ squarefree, $C_L(m)$ is odd, and the swap $(a,b)\mapsto(b,a)$ pairs the factorisations with $ab$, with none on the diagonal, so $\tau(m)=2\tl(m)$ (\lean{card_divisors_eq_two_tauLt}). Hence $\tl(m)=2^{\omega(m)-1}$, which is odd if and only if $\omega(m)=1$, that is, $m$ is prime (\lean{tauLt_prime}, \lean{tauLt_even}). The second statement relates Mathlib's \lean{Nat.primeCounting} to the count on $[1,x]$. \end{proof} \noindent In \cref{ex:ten}, $L=2$ suffices since $10<2^{2^2}$. The machine of \cref{sec:network} takes $L$ to be the bit length of $n$, here $L=3$; on $[1,10]$ the values $C_3(m)$ equal $C_2(m)$, and the count is again $16$. % ===================================================================== \section{One count of a leveled network}\label{sec:network} % ===================================================================== In this section we write the sum of \cref{prop:onecount} as the number of solutions of a system of products, explain why our earlier network library cannot evaluate it at the rate, describe the leveled version that can, and assemble the machine. \subsection{The description} A \emph{description}, in the sense of our class-number note~\cite[\S3]{TulCN26}, lists variables, products of a variable by a variable or a constant, chains (equations between sums of products) and comparisons with constants or other variables. For depth $L$ and interval $[A,B]$ the description \lean{primeDescL} has, for $k=0,\dots,L$, the variables $d_k,s_k,e_k$, with $d_0=m$, $s_0=a$, $e_0=b$, and the constraints \[ ab=m,\qquad d_k\cdot d_k=s_k,\quad s_k\cdot e_k=d_{k-1}\ \ (1\le k\le L),\qquad m\ge\max(A,1),\quad m\le B,\quad an$ bits, and its parameter bound is $U\le2^{11}c_A(D)(n+2)$ with $c_A(D)=64(\mathrm{nV}+\mathrm{nP}+\mathrm{nQ}+1)(\mathrm{nC}+1)$. Our description has $\mathrm{nV}=3L+3$ variables, $\mathrm{nP}=4L+2$ products and $\mathrm{nC}=2L+1$ chains, so $c_A(D)=\Theta(L^2)$ and the bound is $U=\Theta(n\log^2n)$, which makes the engine cost $2^{\Theta(n\log^{3/2}n)}$, worse than trial division. Even with every per-chain copy removed, $3L+3$ variables of $n$ bits carry $\Theta(n\log n)$ bits, which costs $2^{\Theta(n\sqrt{\log n})}$. The witnesses themselves are small: along a chain, $d_k^{2^k}\le m<2^n$ (\lean{chain_pow_le}), so $d_k$ has at most $n/2^k$ bits and all of them together fewer than $2n$. The network should pay for that. \subsection{Levels} A \emph{leveled description} (\lean{LDesc}, module \lean{ArithLDesc}) is a description together with a level for every variable and every chain. A variable of level $k$ ranges over $[0,2^{b\ell_k})$, where $b$ is the limb width of ArithNet and $\ell_k=\ell/4^{\min(\lfloor k/2\rfloor,\,r-1)}$ is the number of limbs at level $k$ (here $\ell=4^{r-1}$ is the number of limbs of a full-width variable in~\cite{TulFac26}); \lean{lbox_spec} shows that a level-$k$ variable $y$ with $y^{2^k}<2^n$ fits. A level-$k$ chain is checked by the two-dimensional Sch\"onhage--Strassen pipeline of~\cite{TulFac26} at the transform shape of level $k$, with the limb width and the Fermat modulus of the top level, so a level-$k$ variable is a prefix of the top-level limb format and the levels need no glue. Well-formedness (\lean{LDesc.WFB}) asks that the operands of a product have level at least that of its chain, that comparisons be between variables of one level or against constants, and that variables enter chains only as products with the constant~$1$. In \lean{primeDescL}, $m,a,b$ have level $0$, $d_k$ has level $k$, $s_k,e_k$ have level $k-1$, and the chains $d_k\cdot d_k=s_k$ and $s_k\cdot e_k=d_{k-1}$ have level $k-1$. Every object (variable, product, chain, comparison) has its own family of wires and vertices, so the cost is a sum over objects of a function of the level. The number of limbs is geometric, $\sum_{k2$ are on paper only (\cref{rem:modk}). \item \emph{No prime finding.} The parity may be even on every interval one queries; \cref{prop:adv} is an oracle-model statement on paper, and the barrier of \cref{sec:barrier} is proved only for product trees. \item \emph{The algorithms are galactic.} \A's levels start at $K_0=2^{x_0}$ with $x_0\ge18$, the level needs $K^{40}\lesssim n$, and the constants ($2^{22}\cdot8$ for the package, and $C$) are astronomical. The machines are of no practical use and beat $x^{1/2}$ only for astronomically large $x$. \item \emph{The machines use exponential space.} \item \emph{No human has checked the work.} The Lean code and this text were written with AI assistance. No human expert has yet checked that \cref{sec:statement} lists everything a reader must trust. \end{itemize} \section{Conclusion}\label{sec:conclusion} We have shown that one bit of $\pi$ on any interval is a single count of divisibility witnesses whose sizes halve along a chain, and that the counting engine evaluates it in $x^{o(1)}$ steps once the network pays for the witnesses at their true sizes. The result is a step towards, not a solution of, deterministic prime finding. An interesting direction is whether the iterated product $m=d_1\cdots d_k$ with $k=\Theta(n/\log n)$ has a parsimonious verifier with $o(n\sqrt{\log n})$ shared bits; a positive answer would give the exact $\pi(x)$, and hence a prime in $[x,2x]$, in time $x^{o(1)}$, while a negative answer for all networks would imply a circuit lower bound that is out of reach today. \section*{Acknowledgements} This work was done with AI assistance (Claude Code, Anthropic): the chain lemma, the Lean development, the numerical checks, the literature and citation checks and the text were produced in sessions with Claude Code. The Lean theorems are checked by the Lean kernel; everything else awaits human expert review. Responsibility for any errors rests with the author. This note continues the project of~\cite{Tul26,TulFac26,TulCN26}. \begin{thebibliography}{99} \bibitem{AKS04} M.~Agrawal, N.~Kayal, and N.~Saxena, \emph{{PRIMES} is in {P}}, Ann. of Math. (2) \textbf{160} (2004), no.~2, 781--793. \bibitem{Anthropic26} Claude (Anthropic), \emph{A $2^{o(n)}$ time algorithm for {3-SAT}}, preprint dated 26~October 2026. Paper and Lean formalisation in the repository \url{https://github.com/anthropics/formal-math}, folder \texttt{eth}; we use commit \texttt{16a5ce41304fcdaea4e0be7c132e1c361dc26da5}. \bibitem{BHP01} R.~C.~Baker, G.~Harman, and J.~Pintz, \emph{The difference between consecutive primes, {II}}, Proc. London Math. Soc. (3) \textbf{83} (2001), no.~3, 532--562. \bibitem{DR96} M.~Del\'eglise and J.~Rivat, \emph{Computing $\pi(x)$: the {M}eissel, {L}ehmer, {L}agarias, {M}iller, {O}dlyzko method}, Math. Comp. \textbf{65} (1996), no.~213, 235--245. \bibitem{IF26} 1337isnot1337 (GitHub user) and contributors, \emph{integer-factoring: deterministic integer factoring bounds}, public repository \url{https://github.com/1337isnot1337/integer-factoring}; Lean formalisation in \texttt{formal-appendix/} (pull request \#20, merged 30~October 2026). \bibitem{LMO85} J.~C.~Lagarias, V.~S.~Miller, and A.~M.~Odlyzko, \emph{Computing $\pi(x)$: the {M}eissel--{L}ehmer method}, Math. Comp. \textbf{44} (1985), no.~170, 537--560. \bibitem{LO87} J.~C.~Lagarias and A.~M.~Odlyzko, \emph{Computing $\pi(x)$: an analytic method}, J. Algorithms \textbf{8} (1987), no.~2, 173--191. \bibitem{Lean4} L.~de Moura and S.~Ullrich, \emph{The {L}ean 4 theorem prover and programming language}, Automated Deduction -- CADE 28, Lecture Notes in Comput. Sci., vol. 12699, Springer, 2021, pp.~625--635. \bibitem{Lel13} A.~V.~Lelechenko, \emph{Parity of the number of primes in a given interval and algorithms of the sublinear summation}, Visn. Odes. Nats. Univ., Mat. Mekh. \textbf{18} (2013), no.~1(17), 104--114; arXiv:1305.1639. \bibitem{Mathlib20} The mathlib Community, \emph{The {L}ean mathematical library}, Proc. 9th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2020), 2020, pp.~367--381. \bibitem{OpenAI26} OpenAI, \emph{The {E}xponential {T}ime {H}ypothesis is false}, preprint dated 17~October 2026, revised 25~October 2026. Paper and Lean formalisation in the repository \url{https://github.com/openai/math}. \bibitem{RR26} I.~Rudich and L.-M.~Rousseau, \emph{Deterministic factoring in time $N^{o(1)}$}, Hexagon preprint hexagon:2610.00600v1, published 29~October 2026, \url{https://hexagonmath.org/2610.00600v1}. \bibitem{Shu26} J.~Shunia, \emph{An improved subexponential bound for deterministic integer factorization}, Hexagon preprint hexagon:2610.00711v1, published 2~November 2026, \url{https://hexagonmath.org/2610.00711v1}. \bibitem{Sla12} R.~Sladkey, \emph{A successive approximation algorithm for computing the divisor summatory function}, arXiv:1206.3369, June 2012. \bibitem{Tao09} T.~Tao, \emph{Deterministic way to find primes -- discussion thread}, The polymath blog, 28~July 2009, \url{https://polymathprojects.org/2009/07/28/deterministic-way-to-find-primes-discussion-thread/}. \bibitem{TCH12} T.~Tao, E.~Croot III, and H.~Helfgott, \emph{Deterministic methods to find primes}, Math. Comp. \textbf{81} (2012), no.~278, 1233--1246; arXiv:1009.3956 (as D.~H.~J.~Polymath). \bibitem{Tul26} V.~Tulsyan, \emph{Counting {H}amiltonian cycles in sparse graphs in subexponential time, assuming the new $\#${SAT} algorithms}, Hexagon preprint hexagon:2610.00672v1, October 2026; source and Lean development at \url{https://github.com/xennygrimmato/eth-hamiltonicity}. \bibitem{TulCN26} V.~Tulsyan, \emph{Class numbers, square roots and quadratic non-residues in time $2^{O(n/\sqrt{\log n})}$, assuming the new $\#${SAT} algorithms}, preprint, November 2026; source in the directory \texttt{classnumber-note/} of~\cite{TulsyanRepo26}. \bibitem{TulFac26} V.~Tulsyan, \emph{An independent machine-checked proof of deterministic factoring in time $2^{O(n/\sqrt{\log n})}$, via the new $\#${SAT} algorithms}, preprint, November 2026; source in the directory \texttt{factoring-note/} of~\cite{TulsyanRepo26}. \bibitem{TulsyanRepo26} V.~Tulsyan, \emph{eth-hamiltonicity: {L}ean 4 formalisation and research notes}, public repository \url{https://github.com/xennygrimmato/eth-hamiltonicity}, 2026; Lean sources as of commit \texttt{f5aad1a}. \end{thebibliography} % ===================================================================== % CITATION CHECK (4 November 2026). Each entry was checked by web search or by fetching the source: % TCH12 arXiv 1009.3956v4 (26 May 2012), PDF read (pdftotext): Conjecture 1.1 (decide whether % [a,b] in [N,2N], length <= N^{1/2+c}, contains a prime in O(N^{1/2-c+o(1)})) open; % Theorem 1.2 "Computing the parity of pi(x)": odd number of primes in such an interval in % O(N^{1/2-c+o(1)}); sentence "we do not know of a method to quickly and deterministically % locate an interval with an odd number of primes" (sec. 1); Odlyzko N^{1/2+o(1)} in the % abstract; identity sum_{d^2|n} mu(d) tau(n/d^2) = 2^{omega(n)}; parity of pi(x;a,q) for % q = O(N^{c/10}). arXiv abstract page: journal ref Math. Comp. 81 (2012), 1233-1246, authors % listed in the journal as the main contributors (Tao, Croot, Helfgott). Issue no. 278 as in % the class-number note's audit. % Lel13 arXiv 1305.1639v3 (20 Sep 2013), PDF read: Theorem 2: [a,b] in [x,2x], b-a <= x^{1/2+c}, % 0 < c <= 1/2, parity of #{p in [a,b]} in O(x^{max(c,7/15)+eps}). Journal ref from arXiv: % Visn. Odessk. Univ., Ser. Mat. Mekh., 2013, vol. 18, #1 (17), 104-114. % Sla12 arXiv 1206.3369 (15 Jun 2012): O(n^{1/3}) time, O(log n) space; PDF read: ref. [5] = % "Tomas Oliveira e Silva, Efficient Computation of the Parity of the Prime Counting % Function, in preparation". Web search found no published version; we cite it only as % mentioned by Sladkey and give it no bibliography entry of its own. % LO87 J. Algorithms 8 (1987) 173-191 (reference list of TCH12; DOI 10.1016/0196-6774(87)90037-X, % June 1987); x^{1/2+eps} time per secondary sources (Platt, arXiv 1203.5712; DR96). % LMO85 Math. Comp. 44 (1985) no. 170, 537-560 (AMS page S0025-5718-1985-0777285-5); % O(x^{2/3+eps}) time, O(x^{1/3+eps}) space. % DR96 Math. Comp. 65 (1996) no. 213, 235-245, DOI 10.1090/S0025-5718-96-00674-6; abstract: % O(x^{2/3}/log^2 x) time. % BHP01 Proc. LMS (3) 83 (2001) no. 3, 532-562 (TCH12 reference list; Royal Holloway record); % [x - x^{0.525}, x] contains a prime for x > x_0. % AKS04 Ann. of Math. 160 (2004) no. 2, 781-793 (TCH12 reference list). % Tao09 polymathprojects.org post of 28 July 2009 by T. Tao (fetched): "Our goal is polynomial in % k"; "What about a partial result, such as exp(o(k))?". The michaelnielsen.org wiki page % "Finding primes" returned 404, so we cite the blog post. % Alboiu, Ramanujan J. 2015 ("On the parity of the prime-counting function and related problems", % DOI 10.1007/s11139-014-9596-1): about the distribution of pi(n) mod q, not computation; % not cited. % Anthropic26, OpenAI26, RR26, Shu26, IF26, Tul26, Lean4, Mathlib20: as audited in the factoring % and class-number notes (citation checks of 4 Nov 2026). TulFac26, TulCN26: our own notes, % unpublished. % TulsyanRepo26 commit: git log -1 --format=%h -- % lean-bridge-anthropic/bridge/EthFollowup/Primes/Final.lean = f5aad1a. % Novelty searches (4 Nov 2026): web searches "parity of prime counting function 2026 #SAT ETH % refutation x^{o(1)} deterministic", "hexagonmath.org primes parity prime counting 2026", % "Oliveira e Silva parity of the prime counting function"; gh search repos "prime parity % ETH", "primeCounting parity lean"; gh search code "primeCounting x % 2" (only our own % files). Nothing relevant found. % ===================================================================== \end{document}