{
  "format": "ProofAtlasProofStepReview/1",
  "steps": [
    {
      "id": "step-first-unique",
      "title": "3.4 · unique root in the bracket",
      "articleAnchor": "thm:first",
      "sourceLines": [
        411,
        411
      ],
      "raw": "$J_2(\\psi+p,p,k)=0$ has exactly one solution $p_*(\\psi,k)$ in $[p_0,p_1]$",
      "note": "Conditional on JacobiFull and finite tangencies. This matches the scalar root count, not continuity, extrema or the geometric time conversion.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.exact_first_time",
          "selector": "conclusion"
        }
      ],
      "selection": "JacobiFull.exact_first_time"
    },
    {
      "id": "step-first-none",
      "title": "3.4 · no earlier root",
      "articleAnchor": "thm:first",
      "sourceLines": [
        412,
        412
      ],
      "raw": "and none in $(0,p_0)$",
      "note": "Strict positivity excludes a zero in (0,p₀), under JacobiFull. This is a positivity counterpart of the no-root clause.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.J2_pos_before_p0",
          "selector": "conclusion"
        }
      ],
      "selection": "JacobiFull.J2_pos_before_p0"
    },
    {
      "id": "step-first-signs",
      "title": "3.4 proof · bracket sign conditions",
      "articleAnchor": "thm:first",
      "sourceLines": [
        424,
        427
      ],
      "raw": "On $(p_0,p_1)$ one has $s>0$ (as $K<p_0<p_1\\le2K$), $f_1>0$ and $\\beta_1<0$\nby Lemma~\\ref{lem:identities}(iv), and $\\alpha_1>0$, since $\\alpha_1(p_0)>0$\nby Lemma~\\ref{lem:identities}(iv) and $p_1$ is at most the first zero of\n$\\alpha_1$ after $p_0$; so $\\beta<0<\\alpha$, i.e.\\ $0<y<1$; $y=1$ at $p_0$ ($\\beta=0$) and $y=0$ at $p_1$ ($\\alpha=0$).",
      "note": "The sign fields are checked on the abstract left bracket. For the first bracket m = 0 the parity factor is 1. The y endpoint formulas require the other bracket lemmas.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.leftBracket._proof_7",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.leftBracket._proof_8",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.leftBracket._proof_9",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.leftBracket._proof_10",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.leftBracket._proof_7"
    },
    {
      "id": "step-first-lift",
      "title": "3.4 proof · continuous lift and slope bound",
      "articleAnchor": "thm:first",
      "sourceLines": [
        428,
        430
      ],
      "raw": "$r$ runs from $0$ to $1$, continuously since $\\mathsf D\\ge1-k^2$, and\n$u=F(\\arcsin\\sqrt r)$ from $0$ to $K$, continuous on the closed and\nanalytic on the open bracket, with $u'\\ge1$ by Lemma~\\ref{lem:riccati}",
      "note": "The continuous lift, its endpoint values and the oriented slope bound are checked for SBracket. Analyticity in this excerpt is outside those declarations.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "SBracket.continuousOn_uu",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.uu_p0",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.uu_p1",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.one_le_ε_deriv_u",
          "selector": "proof"
        }
      ],
      "selection": "SBracket.continuousOn_uu"
    },
    {
      "id": "step-first-singularity",
      "title": "3.4 proof · endpoint divergence",
      "articleAnchor": "thm:first",
      "sourceLines": [
        430,
        432
      ],
      "raw": "and $u'\\to\\infty$ as $p\\to p_0$, because $r(p_0)=0$\nand $r'(p_0)\\ne0$: at the zero $p_0$ of $f_1$, $T_1=d^2b\\ne0$ in\n\\eqref{eq:zprime}.",
      "note": "No compiled proof of this endpoint-divergence argument is indexed. Finite tangencies are an explicit assumption of the counting theorem.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-first-crossing",
      "title": "3.4 proof · apply crossing to the first bracket",
      "articleAnchor": "thm:first",
      "sourceLines": [
        432,
        433
      ],
      "raw": "Lemma~\\ref{lem:crossing} on $[p_0,p_1]$, with \\eqref{eq:zero-set}, gives\nexactly one root there",
      "note": "Conditional on JacobiFull and finite tangencies. This matches the scalar root count, not continuity, extrema or the geometric time conversion. The witness-construction and q ≥ p₀ uniqueness branches reuse this bracket count to assemble the positive-interval result.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.exact_first_time",
          "selector": "call",
          "callee": "JacobiFull.left_exact_time"
        },
        {
          "declaration": "JacobiFull.first_time_complete",
          "selector": "call",
          "callee": "JacobiFull.exact_first_time"
        },
        {
          "declaration": "JacobiFull.left_exact_time",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.exact_time",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.first_time_complete",
          "selector": "node",
          "node": 934,
          "expectedKind": "app",
          "callee": "And.intro",
          "arity": 4
        },
        {
          "declaration": "JacobiFull.first_time_complete",
          "selector": "node",
          "node": 1039,
          "expectedKind": "lam"
        }
      ],
      "selection": "JacobiFull.exact_first_time"
    },
    {
      "id": "step-first-continuity",
      "title": "3.4 proof · dependence on initial phase",
      "articleAnchor": "thm:first",
      "sourceLines": [
        433,
        434
      ],
      "raw": ", continuous in $\\psi$ because the branches are\nstrictly monotone.",
      "note": "Continuity of the selected root as a function of ψ has no compiled counterpart in this snapshot.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-first-exclusion",
      "title": "3.4 proof · positivity rules out earlier roots",
      "articleAnchor": "thm:first",
      "sourceLines": [
        434,
        437
      ],
      "raw": "On $(0,p_0)$, $f_1<0$ and $\\beta_1<0$ by\nLemma~\\ref{lem:identities}(iv), so $\\beta>0$ and\n$\\alpha=(1-k^2)(\\beta+\\ell)>0$: $J_2>0$, no root (this is\n\\cite[Theorem~2.2]{Sachkov2010Conjugate}).",
      "note": "The fully applied J2_pos_before_p0 proof supplies strict positivity in the contradiction branch of first_time_complete. The bracket count still requires finite tangencies.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.first_time_complete",
          "selector": "call",
          "callee": "JacobiFull.J2_pos_before_p0"
        },
        {
          "declaration": "JacobiFull.J2_pos_before_p0",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.β_pos_before_p0",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.J2_pos_of_β_pos",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.first_time_complete",
          "selector": "node",
          "node": 1018,
          "expectedKind": "lam"
        }
      ],
      "selection": "JacobiFull.first_time_complete"
    },
    {
      "id": "step-first-extrema",
      "title": "3.4 proof · corner phases, extrema and cut time",
      "articleAnchor": "thm:first",
      "sourceLines": [
        437,
        440
      ],
      "raw": "The corner phases are\n$\\psi_\\pm(p_0)=-p_0$ and $\\psi_\\pm(p_1)=K-p_1$, where $p_*=p_0$ and\n$p_*=p_1$; every other phase is attained at an interior $p$.  The cut\ntime is $2kp_0$ \\cite[Theorem~3.3]{Sachkov2010Conjugate}.",
      "note": "The root extrema, their unique attaining phases and cut-time interpretation are not established by the scalar counting declarations.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-cells-count-clause",
      "title": "4.1 · one root on each bracket and no other roots",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        477,
        479
      ],
      "raw": "Consequently, for every initial phase, the geodesic has exactly one\nconjugate time on each closed bracket and none elsewhere in\n$[p_n^1,p_{n+1}^1)$.",
      "note": "Lean m is article n − 1. JacobiFull and finite tangencies hL/hR remain assumptions; zero orders and identification of k₀ are not certified.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "conclusion"
        }
      ],
      "selection": "JacobiFull.cell_roots"
    },
    {
      "id": "step-cells-distinct-clause",
      "title": "4.1 · distinct roots and critical coincidence",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        479,
        481
      ],
      "raw": "The two bracket roots are distinct except when\n$k=k_0$ and $\\psi\\equiv K\\pmod{2K}$: in that case the cell contains the\nsingle conjugate time $p=2nK$.",
      "note": "Two roots are checked for K ≠ 2E; coincidence forces the even-period endpoint and K = 2E. The numerical identification of k₀ and zero order are separate, unformalized claims.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.two_per_cell_of_ne",
          "selector": "conclusion"
        },
        {
          "declaration": "JacobiFull.coincide_imp",
          "selector": "conclusion"
        }
      ],
      "selection": "JacobiFull.two_per_cell_of_ne"
    },
    {
      "id": "step-cells-after",
      "title": "4.1 proof · no root after bₙ",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        487,
        489
      ],
      "raw": "On $(b_n,p_{n+1}^1)$, $f_1$ and $\\beta_1$ have the common sign\n$(-1)^{n+1}$ by Lemma~\\ref{lem:identities}(iv), so $\\beta>0$ and\n$\\alpha=(1-k^2)(\\ell+\\beta)>0$: $J_2>0$, no zero (there $y>1$).",
      "note": "J2_pos_after_bR proves positivity on (bR m, pL (m+1)); m = n − 1. Its application excludes this region from the cell zero set.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "call",
          "callee": "JacobiFull.J2_pos_after_bR"
        },
        {
          "declaration": "JacobiFull.J2_pos_after_bR",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.cell_roots"
    },
    {
      "id": "step-cells-gap",
      "title": "4.1 proof · no root between the two brackets",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        490,
        496
      ],
      "raw": "On $(p_n^1,b_n)$,\n$f_1$ and $\\beta_1$ have opposite signs, so $\\beta<0$; $s$ has the sign\n$(-1)^{n+1}$ before $2nK$ and $(-1)^n$ after, and $\\alpha_1$ has the sign\n$(-1)^{n+1}$ before $p_n^\\alpha$ and $(-1)^n$ after\n(Lemma~\\ref{lem:identities}(iv)).  Hence $X=s\\,\\alpha_1<0$ strictly\nbetween $2nK$ and $p_n^\\alpha$, where $\\beta=X-\\ell<0$ and\n$\\alpha=(1-k^2)X<0$ give $J_2<0$: no zero (there $y<0$).",
      "note": "J2_neg_gap proves strict negativity on (eL m, eR m). The indexed call is the gap-exclusion branch of cell_roots, under JacobiFull.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "call",
          "callee": "JacobiFull.J2_neg_gap"
        },
        {
          "declaration": "JacobiFull.J2_neg_gap",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.cell_roots"
    },
    {
      "id": "step-cells-lift",
      "title": "4.1 proof · oriented phase lifts on both brackets",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        496,
        501
      ],
      "raw": "On the\ntwo open brackets $X>0$,\nso $0<y<1$, with $y=1$ at $p_n^1$ and $b_n$ ($\\beta=0$) and $y=0$ at $2nK$\nand $p_n^\\alpha$ ($X=0$); thus $r$ runs between $0$ and $1$ and $u$ between\n$0$ and $K$, from $0$ to $K$ on $B_n^-$ and from $K$ to $0$ on $B_n^+$,\nwith $|u'|\\ge1$ (Lemma~\\ref{lem:riccati})",
      "note": "SBracket proves continuous lift endpoints and an oriented slope bound. The left/right bracket orientations supply the two directions; this is not a proof of endpoint blow-up or analyticity.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "SBracket.one_le_ε_deriv_u",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.continuousOn_uu",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.uu_p0",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.uu_p1",
          "selector": "proof"
        }
      ],
      "selection": "SBracket.one_le_ε_deriv_u"
    },
    {
      "id": "step-cells-regularity",
      "title": "4.1 proof · endpoint regularity and critical continuation",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        501,
        511
      ],
      "raw": "and $|u'|$ unbounded at the end\nwhere $r=0$ (at\n$p_n^1$, a zero of $f_1$, $T_1=d^2b\\ne0$; at $b_n$, a zero of $\\beta_1$,\n$T_2=s^2a\\mathsf D\\ne0$); at the other end $r=1$ and $|u'|\\to\\infty$ as\nwell, since $y$ has a simple zero there, unless $k=k_0$, where\n$2nK=p_n^\\alpha$, $y$ has a double zero at $2nK$ (as\n$\\alpha_1'(2nK)=(-1)^n4n^2E(K-E)\\ne0$) and\n$\\sn(K-u)/\\dn(K-u)=\\sqrt{y/\\mathsf D}$ (quarter-period shift), the root\ntaken with the sign of $p-2nK$, is analytic across $2nK$; hence so is the\ncontinuation of $u$ from $B_n^-$ by $2K-u$ on $B_n^+$, which is what\nLemma~\\ref{lem:crossing} requires at that end.",
      "note": "The endpoint asymptotics, analytic continuation and finiteness argument have no compiled counterpart here. hL/hR remain explicit finite-tangency assumptions.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-cells-crossing",
      "title": "4.1 proof · apply crossing to each bracket",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        511,
        513
      ],
      "raw": "So\nLemma~\\ref{lem:crossing}, with \\eqref{eq:zero-set}, applies to each bracket\nseparately: exactly one root on each closed bracket",
      "note": "Lean m is article n − 1. JacobiFull and finite tangencies hL/hR remain assumptions; zero orders and identification of k₀ are not certified.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "call",
          "callee": "JacobiFull.left_exact_time"
        },
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "call",
          "callee": "JacobiFull.right_exact_time"
        },
        {
          "declaration": "JacobiFull.left_exact_time",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.right_exact_time",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.exact_time",
          "selector": "proof"
        },
        {
          "declaration": "SBracket.J2_eq_zero_iff",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.cell_roots"
    },
    {
      "id": "step-cells-orders",
      "title": "4.1 proof · simple roots and the double corner",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        513,
        516
      ],
      "raw": ", simple off the\ntangency phases, and simple at the corners as well, since $r=\\sn^2u$ and\n$1-r$ have the simple zeros just noted, except at the double corner $2nK$\nfor $k=k_0$.",
      "note": "These zero-order claims have no corresponding compiled proof in the published snapshot.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-cells-exhaustion",
      "title": "4.1 proof · bracket roots exhaust the cell",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        516,
        517
      ],
      "raw": "Since $p_n^1\\in B_n^-$ and\n$b_n<p_{n+1}^1$, these bracket roots exhaust the half-open cell.",
      "note": "Set extensionality proves that the half-open cell zero set equals {p, q}, using the two bracket counts and the positive/negative exclusion branches.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "call",
          "callee": "Set.ext",
          "arity": 4
        },
        {
          "declaration": "JacobiFull.coincide_imp",
          "selector": "call",
          "callee": "JacobiFull.cell_roots"
        }
      ],
      "selection": "JacobiFull.cell_roots"
    },
    {
      "id": "step-cells-contact",
      "title": "4.1 proof · coincidence forces the common endpoint",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        517,
        518
      ],
      "raw": "The roots on the\ntwo closed brackets coincide only if both are the common endpoint",
      "note": "The coincidence branch forces p = (2m+2)K; eL_eq_eR_iff proves contact iff K = 2E. This index does not identify the unique numerical k₀.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.coincide_imp",
          "selector": "call",
          "callee": "JacobiFull.eL_eq_eR_iff"
        },
        {
          "declaration": "JacobiFull.eL_eq_eR_iff",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.coincide_imp",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.coincide_imp"
    },
    {
      "id": "step-cells-critical",
      "title": "4.1 proof · identification of the critical modulus",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        518,
        519
      ],
      "raw": "which\nexists only for $k=k_0$",
      "note": "The unique numerical k₀ and its identification with the elliptic equation K = 2E are not constructed in this Lean snapshot.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-cells-location",
      "title": "4.1 proof · location of coincident bracket roots",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        519,
        519
      ],
      "raw": "where it is the corner $(2nK,K)$ of both curves",
      "note": "The coincidence branch proves p = (2m+2)K, with m = n − 1. This is a scalar location counterpart; the phase criterion is indexed in the next passage.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.cell_roots",
          "selector": "node",
          "node": 4558,
          "expectedKind": "lam"
        }
      ],
      "selection": "JacobiFull.cell_roots"
    },
    {
      "id": "step-cells-phase",
      "title": "4.1 proof · phase at the common endpoint",
      "articleAnchor": "thm:cells",
      "sourceLines": [
        520,
        520
      ],
      "raw": "met by the line exactly when $\\psi\\equiv K-2nK\\equiv K$.",
      "note": "The compiled equivalence characterizes J2(τ, 2nK) = 0 by τ = K + 2Kj. Along τ = ψ + 2nK this gives ψ ≡ K. Only this scalar phase criterion is indexed.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.J2_even_eq_zero_iff",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.J2_even_eq_zero_iff"
    },
    {
      "id": "step-identities-beta",
      "title": "3.1 proof · coefficient product",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        252,
        254
      ],
      "raw": "(i) From \\eqref{eq:coefficients}, $f_1=-cq-ds$ and $\\beta_1=c\\epsilon-ds$;\nmultiplying and using $c^2+s^2=1$,\n$f_1\\beta_1=s\\{cd(q-\\epsilon)+s(d^2+\\epsilon q)\\}-\\epsilon q=X-\\ell$.",
      "note": "Coefficient collapse under the JacobiData algebraic identities.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.collapse_beta",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.collapse_beta"
    },
    {
      "id": "step-identities-alpha",
      "title": "3.1 proof · alpha identity",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        255,
        255
      ],
      "raw": "The second identity is the definition of $\\alpha$;",
      "note": "The compiled alpha collapse unfolds its definition.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.collapse_alpha",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.collapse_alpha"
    },
    {
      "id": "step-identities-diff",
      "title": "3.1 proof · coefficient difference",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        255,
        255
      ],
      "raw": "subtracting gives the third.",
      "note": "Subtraction of the collapsed coefficients.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.collapse_diff",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.collapse_diff"
    },
    {
      "id": "step-identities-f-derivative",
      "title": "3.1 proof · derivative of f₁/c",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        257,
        257
      ],
      "raw": "(ii) With $f_1=-c(p-\\epsilon)-ds$ one finds $f_1'c-f_1c'=-d^2$;",
      "note": "Quotient differentiation and algebraic reduction, assuming c ≠ 0.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.hasDerivAt_f1_div_c",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.hasDerivAt_f1_div_c"
    },
    {
      "id": "step-identities-beta-derivative",
      "title": "3.1 proof · derivative of β₁/c",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        257,
        258
      ],
      "raw": "with\n$\\beta_1=c\\epsilon-ds$, $\\beta_1'c-\\beta_1c'=-(1-k^2)s^2$;",
      "note": "Quotient differentiation with c ≠ 0.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.hasDerivAt_β1_div_c",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.hasDerivAt_β1_div_c"
    },
    {
      "id": "step-identities-alpha-derivative",
      "title": "3.1 proof · derivative of α₁/d",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        258,
        260
      ],
      "raw": "and with $\\alpha_1$\nas in \\eqref{eq:coefficients}, $\\alpha_1'd-\\alpha_1d'=-\\epsilon f_1$ after\nreduction by $c^2=1-s^2$, $d^2=1-k^2s^2$.",
      "note": "Quotient differentiation and reduction using sc and sd, with d ≠ 0.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.hasDerivAt_α1_div_d",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.hasDerivAt_α1_div_d"
    },
    {
      "id": "step-identities-gamma",
      "title": "3.1 proof · derivative of Γ",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        264,
        265
      ],
      "raw": "(iii) $\\Gamma'=d^2-k^2\\bigl[(c^2-s^2)d^2+k^2s^2c^2\\bigr]/d^2\n=\\bigl[d^4-k^2(1-2s^2+k^2s^4)\\bigr]/d^2=(1-k^2)/d^2$,",
      "note": "The compiled derivative identity uses Jacobi differential rules. Positivity requires d ≠ 0 and 0 < k < 1.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.hasDerivAt_Γ",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.hasDerivAt_Γ"
    },
    {
      "id": "step-identities-beta-gamma",
      "title": "3.1 proof · β₁ derivative in terms of Γ",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        266,
        266
      ],
      "raw": "$\\beta_1'=-sd\\epsilon+cd^2+k^2s^2c-cd^2=-sd\\,(\\epsilon-k^2sc/d)$.",
      "note": "The factored derivative identity, under the JacobiData hypotheses.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.β1_deriv_eq_Γ",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.β1_deriv_eq_Γ"
    },
    {
      "id": "step-identities-f-zero",
      "title": "3.1 proof · unique Maxwell zero",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        268,
        270
      ],
      "raw": "(iv) By (ii), $f_1/c$ decreases on each $((2m+1)K,(2m+3)K)$ from\n$+\\infty$ to $-\\infty$ (there $\\cn$ has the sign $(-1)^{m+1}$, and\n$f_1=(-1)^{m+1}k'$ at the left end, $(-1)^mk'$ at the right end),",
      "note": "Unique zero is proved from quotient monotonicity and endpoint values. This index does not certify the prose claim of infinite endpoint limits or simplicity.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiPeriodic.exists_unique_f1_zero",
          "selector": "proof"
        },
        {
          "declaration": "JacobiPeriodic.exists_unique_f1_zero",
          "selector": "call",
          "callee": "JacobiPeriodic.f1_div_c_strictAntiOn_I"
        }
      ],
      "selection": "JacobiPeriodic.exists_unique_f1_zero"
    },
    {
      "id": "step-identities-f-sign",
      "title": "3.1 proof · signs around Maxwell zeros",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        271,
        272
      ],
      "raw": "and its sign alternates between consecutive\nzeros; $f_1(0)=0$ and $f_1(2nK)/\\cn(2nK)=2n(E-K)<0$ place the sign.",
      "note": "The compiled sign-before/sign-after theorems identify the signs around each Maxwell zero, using the supplied period and sign hypotheses.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiPeriodic.f1_sign_before",
          "selector": "proof"
        },
        {
          "declaration": "JacobiPeriodic.f1_sign_after",
          "selector": "proof"
        }
      ],
      "selection": "JacobiPeriodic.f1_sign_before"
    },
    {
      "id": "step-identities-beta-mono",
      "title": "3.1 proof · monotonicity of β₁",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        272,
        273
      ],
      "raw": "For $\\beta_1$:\nby (iii) it is strictly monotone on each $(nK,(n+1)K)$,",
      "note": "Signed monotonicity on the even-to-even cell follows from the Γ identity and sign hypotheses; Γ positivity is derived from its value at zero and strict monotonicity.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiPeriodic.signed_β1_strictAntiOn",
          "selector": "proof"
        },
        {
          "declaration": "JacobiInit.Γ_pos",
          "selector": "proof"
        },
        {
          "declaration": "JacobiInit.Γ_zero",
          "selector": "proof"
        },
        {
          "declaration": "JacobiPeriodic.exists_unique_β1_zero",
          "selector": "call",
          "callee": "JacobiPeriodic.signed_β1_strictAntiOn"
        }
      ],
      "selection": "JacobiPeriodic.signed_β1_strictAntiOn"
    },
    {
      "id": "step-identities-beta-endpoints",
      "title": "3.1 proof · endpoint values of β₁",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        273,
        274
      ],
      "raw": "with\n$\\beta_1(2nK)=(-1)^n2nE$ and $\\beta_1((2n+1)K)=(-1)^{n+1}k'$",
      "note": "Periodic endpoint identities use the supplied JacobiPeriodic values.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiPeriodic.β1_even",
          "selector": "proof"
        },
        {
          "declaration": "JacobiPeriodic.β1_odd",
          "selector": "proof"
        },
        {
          "declaration": "JacobiPeriodic.exists_unique_β1_zero",
          "selector": "call",
          "callee": "JacobiPeriodic.β1_even"
        },
        {
          "declaration": "JacobiPeriodic.exists_unique_β1_zero",
          "selector": "call",
          "callee": "JacobiPeriodic.β1_odd"
        }
      ],
      "selection": "JacobiPeriodic.β1_even"
    },
    {
      "id": "step-identities-beta-zero",
      "title": "3.1 proof · unique β₁ zero and excluded intervals",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        274,
        276
      ],
      "raw": "so it has one\nzero in $(2nK,(2n+1)K)$ and none in $[(2n-1)K,2nK]$; on $(0,2K]$ this is\n\\cite[Lemma~2.6]{Sachkov2010Conjugate}.",
      "note": "Existence/uniqueness of the positive-cell zero and exclusion on the stated closed odd interval and (0,2K].",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiPeriodic.exists_unique_β1_zero",
          "selector": "proof"
        },
        {
          "declaration": "JacobiPeriodic.β1_ne_zero_on_odd_interval",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.β1_neg_Ioc",
          "selector": "proof"
        }
      ],
      "selection": "JacobiPeriodic.exists_unique_β1_zero"
    },
    {
      "id": "step-identities-alpha-unique",
      "title": "3.1 proof · at most one α₁ zero",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        276,
        278
      ],
      "raw": "For $\\alpha_1$: by (ii) and the\nsign of $f_1$, $\\alpha_1/d$ is strictly monotone on each cell, so\n$\\alpha_1$ has at most one zero per cell.",
      "note": "Signed quotient monotonicity and the resulting injectivity argument. Lean cell m corresponds to article n = m + 1.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.signed_α1_div_d_strictAntiOn",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.α1_zero_unique",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.α1_zero_unique",
          "selector": "call",
          "callee": "JacobiFull.signed_α1_div_d_strictAntiOn"
        }
      ],
      "selection": "JacobiFull.signed_α1_div_d_strictAntiOn"
    },
    {
      "id": "step-identities-alpha-endpoints",
      "title": "3.1 proof · opposite α₁ endpoint signs",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        278,
        280
      ],
      "raw": "At $p_n^1$ and at $b_n$, $\\beta=0$ gives $X=\\ell>0$, so\n$\\alpha_1$ has the sign of $s$ there: $(-1)^{n+1}$ at $p_n^1\\in((2n-1)K,2nK)$\nand $(-1)^n$ at $b_n\\in(2nK,(2n+1)K)$.",
      "note": "The endpoint sign proofs reduce β = 0 to X = ℓ > 0 and transfer the sign of sn.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.signed_α1_pL_pos",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.signed_α1_bR_pos",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.signed_α1_pL_pos"
    },
    {
      "id": "step-identities-alpha-exists",
      "title": "3.1 proof · existence of an α₁ zero",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        280,
        281
      ],
      "raw": "Hence $\\alpha_1$ has exactly one\nzero in $(p_n^1,b_n)$,",
      "note": "The compiled intermediate-value helper proves a zero on a closed interval from continuity and a nonpositive endpoint product. Strict interior placement requires the separately indexed endpoint signs; no single exported theorem is claimed to equal this whole sentence.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.exists_α1_zero",
          "selector": "proof"
        }
      ],
      "selection": "JacobiFull.exists_α1_zero"
    },
    {
      "id": "step-identities-alpha-simple",
      "title": "3.1 proof · simplicity of the α₁ zero",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        281,
        281
      ],
      "raw": "simple because $(\\alpha_1/d)'\\ne0$ there.",
      "note": "No matching zero-simplicity theorem is exported in the published snapshot.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-identities-alpha-even",
      "title": "3.1 proof · α₁ at an even period",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        281,
        283
      ],
      "raw": "Its side\nof $2nK$ follows from $\\alpha_1(2nK)=(-1)^n2n(K-2E)$, read off from\n\\eqref{eq:coefficients} with $s=0$, $c=(-1)^n$, $d=1$, $\\epsilon=2nE$,",
      "note": "The compiled even-period value is indexed. Its dn factor is explicit in the theorem; dn = 1 at this endpoint follows from the Jacobi hypotheses. This step does not identify k₀.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiPeriodic.α1_even",
          "selector": "proof"
        }
      ],
      "selection": "JacobiPeriodic.α1_even"
    },
    {
      "id": "step-identities-critical",
      "title": "3.1 proof · unique critical modulus",
      "articleAnchor": "lem:identities",
      "sourceLines": [
        284,
        287
      ],
      "raw": "since $2E-K$ decreases strictly from $\\pi/2$ to $-\\infty$ on $0<k<1$\n($dK/dk>0$ and $dE/dk=(E-K)/k<0$ \\cite[\\S19.4]{DLMF}; this is\n\\cite[Proposition~11.5]{Sachkov2008Elastic}), so that $K-2E$ has\nthe sign of $k-k_0$.",
      "note": "The variation of K and E with modulus, unique numerical k₀ and its identification with K = 2E are not formalized in this snapshot.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-riccati-factor",
      "title": "3.2 proof · factorization z = ab",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        338,
        338
      ],
      "raw": "$ab=-f_1\\beta_1/(q\\epsilon)=-\\beta/\\ell=z$ by Lemma~\\ref{lem:identities}(i);",
      "note": "The compiled z = −β/ℓ identity unfolds z = ab and β = f₁β₁, with denominator conditions explicit.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.z_eq_neg_beta_div_ell",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.z_eq_neg_beta_div_ell"
    },
    {
      "id": "step-riccati-sign",
      "title": "3.2 proof · common sign",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        339,
        340
      ],
      "raw": "$z\\in(0,1)$ forces a common sign of $a,b$, shared by $T_1,T_2$ as\n$1-z=y>0$ and $\\mathsf D>0$.",
      "note": "T₁T₂ same-sign theorem uses 0 < ab, z < 1 and positive/nonzero denominators; it does not assume the conclusion of the slope bound.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.T1_T2_same_sign",
          "selector": "proof"
        },
        {
          "declaration": "JacobiData.slope_bound_abs",
          "selector": "call",
          "callee": "JacobiData.T1_T2_same_sign"
        }
      ],
      "selection": "JacobiData.T1_T2_same_sign"
    },
    {
      "id": "step-riccati-pair",
      "title": "3.2 proof · differential pair for a and b",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        340,
        345
      ],
      "raw": "Using $s'=cd$, $c'=-sd$, $d'=-k^2sc$,\n$\\epsilon'=d^2$, $q'=k^2s^2$, direct differentiation gives the Riccati pair\n\\begin{equation}\\label{eq:riccati-pair}\n a'=\\frac{d^2+ca+k^2s^2a^2}{ds},\\qquad\n b'=\\frac{(1-k^2)s^2-cb-d^2b^2}{ds};\n\\end{equation}",
      "note": "Riccati derivative formulas obtained from the Jacobi derivative rules, with q, ε, d and sn nonzero. Their completed applications inside the z derivative proof are indexed separately.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.a_deriv_form",
          "selector": "proof"
        },
        {
          "declaration": "JacobiData.b_deriv_form",
          "selector": "proof"
        },
        {
          "declaration": "JacobiData.hasDerivAt_z",
          "selector": "call",
          "callee": "JacobiData.a_deriv_form"
        },
        {
          "declaration": "JacobiData.hasDerivAt_z",
          "selector": "call",
          "callee": "JacobiData.b_deriv_form"
        }
      ],
      "selection": "JacobiData.a_deriv_form"
    },
    {
      "id": "step-riccati-cancellation",
      "title": "3.2 proof · derivative of z",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        346,
        346
      ],
      "raw": "the mixed terms cancel in $(ab)'$, giving \\eqref{eq:zprime}.",
      "note": "Product differentiation of ab and cancellation after substituting the two Riccati formulas.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.hasDerivAt_z",
          "selector": "proof"
        }
      ],
      "selection": "JacobiData.hasDerivAt_z"
    },
    {
      "id": "step-riccati-product",
      "title": "3.2 proof · product T₁T₂",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        346,
        347
      ],
      "raw": "The product\n$T_1T_2=d^2s^2\\,ab\\,(1-z)\\mathsf D$",
      "note": "Algebraic product identity, also indexed at its fully applied use in the slope inequality.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.T1_mul_T2",
          "selector": "proof"
        },
        {
          "declaration": "JacobiData.slope_bound_abs",
          "selector": "call",
          "callee": "JacobiData.T1_mul_T2"
        }
      ],
      "selection": "JacobiData.T1_mul_T2"
    },
    {
      "id": "step-riccati-amgm",
      "title": "3.2 proof · arithmetic–geometric mean bound",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        347,
        348
      ],
      "raw": "and the arithmetic--geometric mean\ninequality give the first inequality in \\eqref{eq:slope}.",
      "note": "The scalar slope inequality uses the product and common-sign lemmas. Its completed AM–GM helper call and use in the phase-lift proof are indexed.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiData.slope_bound_abs",
          "selector": "proof"
        },
        {
          "declaration": "JacobiData.two_sqrt_mul_le_add",
          "selector": "proof"
        },
        {
          "declaration": "JacobiData.slope_bound_abs",
          "selector": "call",
          "callee": "JacobiData.two_sqrt_mul_le_add"
        },
        {
          "declaration": "SBracket.one_le_ε_deriv_u",
          "selector": "call",
          "callee": "JacobiData.slope_bound_abs"
        }
      ],
      "selection": "JacobiData.slope_bound_abs"
    },
    {
      "id": "step-riccati-lift",
      "title": "3.2 proof · transfer to the phase lift",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        348,
        352
      ],
      "raw": "From\n\\eqref{eq:z-r-u}, $r'=(1-k^2)z'/\\mathsf D^2$ and\n$r(1-r)(1-k^2r)=(1-k^2)^2z(1-z)/\\mathsf D^3$, so\n$|r'|\\ge2\\sqrt{r(1-r)(1-k^2r)}$; and $u'=r'/\\bigl(2\\sqrt{r(1-r)(1-k^2r)}\\bigr)$\n\\cite[\\S19.2(ii)]{DLMF}, which gives $|u'|\\ge1$",
      "note": "The oriented bound εu′ ≥ 1 on a signed bracket follows using the inverse phase-lift derivative supplied in the structure. Its absolute-value consequence is interpreted under ε = ±1; the inverse elliptic integral is not constructed here.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "SBracket.one_le_ε_deriv_u",
          "selector": "proof"
        }
      ],
      "selection": "SBracket.one_le_ε_deriv_u"
    },
    {
      "id": "step-riccati-gap",
      "title": "3.2 proof · exact square-gap identity",
      "articleAnchor": "lem:riccati",
      "sourceLines": [
        352,
        353
      ],
      "raw": "and, on writing\n$|T_1|+|T_2|-2\\sqrt{|T_1T_2|}$ as a square, the last identity.",
      "note": "The displayed exact square-gap identity and equality-case characterization have no matching exported proof in this snapshot.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-crossing-orders",
      "title": "3.3 statement · zero orders and finite tangencies",
      "articleAnchor": "lem:crossing",
      "sourceLines": [
        365,
        373
      ],
      "raw": "Consequently $\\sn^2(\\psi+p)-\\sn^2u(p)$ has exactly one zero in\n$[p',p'']$.  An interior zero is simple except at a tangency, $|u'(p)|=1$, where\nit has odd order at least three.  At a corner, $p\\in\\{p',p''\\}$, met\nexactly for the two corner phases $\\psi_\\pm(p')$ and $\\psi_\\pm(p'')$ (the\ntwo signs agree there), it is simple provided $\\sn^2u$ has a simple zero\nat the end where $u=0$ and $1-\\sn^2u$ a simple zero at the end where\n$u=K$.  The tangency phases are finitely many when\n$|u'|\\to\\infty$ at both ends, or at one end while $u$ extends analytically\nacross the other.",
      "note": "Counting is formalized conditionally; simple/odd zero orders, corner orders and finiteness derived from analyticity are not proved by CrossingData.crossing.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-crossing-analytic-proof",
      "title": "3.3 proof · analytic zero-order argument",
      "articleAnchor": "lem:crossing",
      "sourceLines": [
        390,
        406
      ],
      "raw": "By\n\\eqref{eq:sn-addition}, $\\sn^2(\\psi+p)-\\sn^2u(p)$ is\n$\\sn(\\psi+p-u)\\sn(\\psi+p+u)$ times a positive factor, so the order of the\nzero along the line is that of $\\psi_\\sigma(p)-\\psi$ in the open\ninterval: one where\n$\\psi_\\sigma'\\ne0$; at a tangency the slope $\\sigma u'-1\\ge0$ vanishes to\neven order, being nonnegative and analytic, so the zero has odd order at\nleast three; and the zeros of the analytic function $\\sigma u'-1$, which is\nnot identically zero, can accumulate only at an end of the interval, which is\nexcluded where $|u'|\\to\\infty$ and where $u$ extends analytically across\nthe end.  At a corner $p_c$ one expands directly.  If $u(p_c)=0$, the\ncorner phase is $\\psi=-p_c$, and, with $h=p-p_c$,\n$\\sn^2(\\psi+p)-\\sn^2u(p)=-(\\sn^2u)'(p_c)h+o(h)$,\na simple zero when $\\sn^2u$ has a simple zero.\nIf $u(p_c)=K$, the corner phase is $K-p_c$, and\n$1-\\sn^2(K+h)=(1-k^2)\\sn^2h/\\dn^2h=O(h^2)$ gives\nthe same conclusion with $1-\\sn^2u$.",
      "note": "No matching compiled proof of this analytic order/finiteness argument is exported. The finite tangency hypothesis in the counting theorems remains an assumption.",
      "status": "unmapped",
      "anchors": [],
      "selection": null
    },
    {
      "id": "step-total-count",
      "title": "Formalization scope · cumulative 2N root count",
      "articleAnchor": "app:lean",
      "sourceLines": [
        801,
        802
      ],
      "raw": "the total\nof $2N$ conjugate times before $p_{N+1}^1$ for $K\\ne2E$,",
      "note": "roots_ncard proves the scalar finite-set count by induction using cell_roots, roots_succ and two_per_cell_of_ne. Geometric conjugate-time identification is outside its scope.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiFull.roots_ncard",
          "selector": "proof"
        },
        {
          "declaration": "JacobiFull.roots_ncard",
          "selector": "call",
          "callee": "JacobiFull.two_per_cell_of_ne"
        },
        {
          "declaration": "JacobiFull.roots_ncard",
          "selector": "call",
          "callee": "JacobiFull.roots_succ"
        }
      ],
      "selection": "JacobiFull.roots_ncard"
    },
    {
      "id": "step-hypothesis-reduction",
      "title": "Appendix A · reduction to the core hypotheses",
      "articleAnchor": "app:lean",
      "sourceLines": [
        814,
        816
      ],
      "raw": "the module\n\\texttt{Reduction} proves that they follow from the 13 hypotheses of\nTable~\\ref{tab:lean-core}, so that only these are assumed.",
      "note": "The compiled construction maps JacobiCore to JacobiFull. It discharges derived structure fields; the core Jacobi and inverse phase-lift hypotheses remain assumed.",
      "status": "partial",
      "anchors": [
        {
          "declaration": "JacobiCore.toJacobiFull",
          "selector": "proof"
        }
      ],
      "selection": "JacobiCore.toJacobiFull"
    },
    {
      "id": "step-identities-f-simple",
      "title": "3.1 proof · simplicity of the Maxwell zero",
      "articleAnchor": "lem:identities",
      "status": "unmapped",
      "anchors": [],
      "selection": null,
      "note": "These indexed sign/counting theorems do not establish the stated zero-simplicity claim; no matching exported simplicity theorem is assigned.",
      "raw": "so\nthe zeros of $f_1$ are simple",
      "sourceLines": [
        270,
        271
      ]
    },
    {
      "id": "step-riccati-equality",
      "title": "3.2 statement · equality in the slope bound",
      "articleAnchor": "lem:riccati",
      "status": "unmapped",
      "anchors": [],
      "selection": null,
      "note": "The exact equality-case characterization and square-gap identity are not exported as matching theorems in this snapshot.",
      "raw": "so $|u'|=1$ exactly where $|T_1|=|T_2|$.",
      "sourceLines": [
        334,
        334
      ]
    }
  ]
}
