From 6b0bc529c9c7b23bc9b1a508609fc4a8abc8a258 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Sat, 25 Jul 2026 15:42:44 +0100 Subject: [PATCH] Fix a stale link to the `math.integer.isqrt()` correctness proof (GH-154685) (cherry picked from commit b86a41cbf631c959d274ad6180cf0a0ac6f6e180) Co-authored-by: Mark Dickinson --- Modules/mathintegermodule.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Modules/mathintegermodule.c b/Modules/mathintegermodule.c index 0f660d461e349f..6d35c825349e45 100644 --- a/Modules/mathintegermodule.c +++ b/Modules/mathintegermodule.c @@ -180,10 +180,9 @@ that the bound `(a - 1)**2 < (n >> s) < (a + 1)**2` is maintained from one iteration to the next. A sketch of the proof of this is given below. In addition to the proof sketch, a formal, computer-verified proof -of correctness (using Lean) of an equivalent recursive algorithm can be found -here: +of correctness (using Lean) of the algorithm can be found here: - https://github.com/mdickinson/snippets/blob/master/proofs/isqrt/src/isqrt.lean + https://github.com/mdickinson/snippets/tree/41ce2d256fef06fb32f24fe7014cfa95173ac5e0/proofs/isqrt Here's Python code equivalent to the C implementation below: