{"title":"noncoordinate-polynomial","code":"# /// script\n# requires-python = \">=3.11\"\n# dependencies = [\"marimo>=0.25.1\"]\n# ///\n\nimport marimo\n\n__generated_with = \"0.25.1\"\napp = marimo.App(width=\"medium\", app_title=\"A polynomial that cuts out affine space but is not a coordinate\")\n\nwith app.setup:\n    import hashlib\n    import json\n    import re\n    from fractions import Fraction\n    from pathlib import Path\n\n    LEAN = Path(\"lean\")\n    EVIDENCE = Path(\"evidence/openai-049.json\")\n    EVIDENCE_MISSING = (\n        \"This project has no record of a run from main yet. The record will be \"\n        \"`evidence/openai-049.json` in this project, and this cell will show it.\"\n    )\n    OPENAI_COMMIT = \"7ef5c0cc5ca4b0e072b7a050fca09ab24bc6fa3a\"\n\n    # Each file with the SHA-256 that the build pinned before compiling it.\n    LEAN_FILES = {\n        \"ComparatorChallenges/AbhyankarSathaye.lean\": \"a7db47dbd441d730d082f3cae61a2d7f22fd37aae46429dc269b290f262504c6\",\n        \"ComparatorChallenges/AbhyankarSathaye.json\": \"c7e954153e064582ebcbaf85deacc29f933dca1c7188e90a6a78eb17b929148f\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Identities.lean\": \"821185a3f4e290139437d03fac7e77bd07c0c17ebde1bb12557e3a4b17791bb0\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/CriticalPoint.lean\": \"8482fed2b765a9cdcbb651302ce0f1dd9916a009bd785bca371640b01974e33b\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/NonCoordinate.lean\": \"4d65effda7f183af78ad4c46ad3ea01cf9eb9ec8cc9aba113160a2e61f3c2ac8\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/LiftingIdentities.lean\": \"96493e2252652628a81442007f1166ac4c9556e7a64ba85b7bca80d1abff0ccb\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Quotient.lean\": \"a9ca84c304ea3e6c692f101399eb0be4510e9942d9df4c81d1a0fb36efafe065\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Reconstruction.lean\": \"e3d5adf0a453e79048927bdef4de1f2984eb8ebe8879414614c45210f441429d\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/LinearElimination.lean\": \"213837b77e099684e5796964f349a987e5074de3c7958a685cb1e279041f9d7a\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Lifting.lean\": \"1572068ef8754f570b77049940b69f9c6fe4450390f818394c40f5a9af1dd323\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Plane.lean\": \"048bdff674496e8f346f41c505a1f3ff74f2e29d3a50f12e005efe2ab6f82ed3\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Presentation.lean\": \"0e7b8ed7ab6d7634969b226198f273458b4a7c0b5737a803584f5c17a8e1b6a0\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Fiber.lean\": \"d00e86d6250e5f0b63af7a486134d58fe2d60b50c1ff8c6f1d109f6d44156c49\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/FiberFormulas.lean\": \"172b6d1609d4a0c7b3ccd56011ca4a5135e789e25801b6b77038f7ff83699876\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Stabilization.lean\": \"c679b604d36b8d6275e0b3924dd2269d25e08f4cda4b29d3770997f1dc7ada99\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/LinearPresentation.lean\": \"0bd3cd657eb53f988e3343a1671038c88117fa220a7cd9f85322c34fc35db8e8\",\n        \"OAI/AlgebraicGeometry/AbhyankarSathaye/Counterexample.lean\": \"75c94499e489e26905564aa853cde0875bbab6354d29aff7ebb8bf80899bb04f\",\n    }\n\n\n@app.class_definition\nclass Dual:\n    \"\"\"A number a + b·ε with ε² = 0. Evaluating a polynomial at x + ε gives its derivative at x in b, exactly.\"\"\"\n\n    def __init__(self, a, b=0):\n        self.a, self.b = Fraction(a), Fraction(b)\n\n    @staticmethod\n    def _lift(other):\n        return other if isinstance(other, Dual) else Dual(other)\n\n    def __add__(self, other):\n        other = Dual._lift(other)\n        return Dual(self.a + other.a, self.b + other.b)\n\n    __radd__ = __add__\n\n    def __neg__(self):\n        return Dual(-self.a, -self.b)\n\n    def __sub__(self, other):\n        return self + (-Dual._lift(other))\n\n    def __rsub__(self, other):\n        return Dual._lift(other) - self\n\n    def __mul__(self, other):\n        other = Dual._lift(other)\n        return Dual(self.a * other.a, self.a * other.b + self.b * other.a)\n\n    __rmul__ = __mul__\n\n    def __pow__(self, n: int):\n        result = Dual(1)\n        for _ in range(n):\n            result = result * self\n        return result\n\n\n@app.function\ndef S(h, u, v, w):\n    \"\"\"The quotient (x² + y³)/h, as `S` in Identities.lean.\"\"\"\n    return 2 * u**3 * v + 3 * u**4 * w + h * (v**2 - 3 * u**2 * w**2) + h**2 * w**3\n\n\n@app.function\ndef P(x, y, s):\n    \"\"\"The correction term p, as `P` in Identities.lean. Not the critical point P of the text.\"\"\"\n    return -2 * s**2 * x + 3 * s * y**2 - 3 * s**3 * y\n\n\n@app.function\ndef construction(h, u, v, w) -> dict:\n    \"\"\"x, y, s, p and F at one point, in the order of Identities.lean.\"\"\"\n    x = u**3 + h * v\n    y = -(u**2) + h * w\n    s = S(h, u, v, w)\n    p = P(x, y, s)\n    return {\"x\": x, \"y\": y, \"s\": s, \"p\": p, \"F\": h - p - 1}\n\n\n@app.function\ndef gradient(point) -> list:\n    \"\"\"The four partial derivatives of F at a point, exact over the rationals.\"\"\"\n    partials = []\n    for i in range(4):\n        seeded = [Dual(c, 1 if j == i else 0) for j, c in enumerate(point)]\n        partials.append(construction(*seeded)[\"F\"].b)\n    return partials\n\n\n@app.function\ndef load_evidence(path: Path = EVIDENCE) -> str:\n    \"\"\"The record of a Lean proof check run as Markdown, or a sentence saying why there is none to show.\"\"\"\n    try:\n        evidence = json.loads(path.read_text(encoding=\"utf-8\"))\n    except FileNotFoundError:\n        return EVIDENCE_MISSING\n    except (OSError, ValueError) as error:\n        return f\"`{path}` cannot be read: {error}.\"\n    try:\n        return evidence_summary(evidence)\n    except (AttributeError, KeyError, TypeError, ValueError, StopIteration):\n        return f\"`{path}` is not a record of the kind this notebook reads.\"\n\n\n@app.function\ndef scrub(text: str) -> str:\n    \"\"\"Text from a run record with the owner of ScienceHub's CI repository and image replaced by OWNER.\"\"\"\n    keep = {\"ghcr.io\", \"github.com\", \"api.github.com\", \"docker.io\", \"v2\", \"repos\"}\n\n    def owner(match):\n        return match.group(0) if match.group(1) in keep else \"OWNER/\"\n\n    return re.sub(r\"([\\w.-]+)/(?=sciencehub(?:-lean)?\\b)\", owner, text)\n\n\n@app.function\ndef plural(count: int, word: str) -> str:\n    return f\"{count} {word}\" + (\"\" if count == 1 else \"s\")\n\n\n@app.function\ndef finished(stamp: str) -> str:\n    \"\"\"An ISO time as a date like 28 Oct 2026.\"\"\"\n    from datetime import datetime\n\n    moment = datetime.fromisoformat(str(stamp).replace(\"Z\", \"+00:00\"))\n    return f\"{moment.day} {moment.strftime('%b %Y')}\"\n\n\n@app.function\ndef image_digest(image) -> str:\n    \"\"\"The image's digest alone, from a record that gives a digest or, in its first format, a full reference.\"\"\"\n    if isinstance(image, dict):\n        image = image.get(\"digest\") or image[\"ref\"]\n    digest = str(image).rsplit(\"@\", 1)[-1]\n    if not digest.startswith(\"sha256:\"):\n        raise ValueError(digest)\n    return digest\n\n\n@app.function\ndef evidence_summary(evidence: dict) -> str:\n    \"\"\"The record as Markdown. It names the run by number and the image by digest only.\n\n    A run that was not accepted is shown by its outcome and the reason each runtime gives;\n    the table is for accepted runs, whose records have every field it reads.\n    \"\"\"\n    if not str(evidence[\"schema\"]).startswith(\"sciencehub.lean-proof-evidence/\"):\n        raise ValueError(evidence[\"schema\"])\n    run = evidence[\"run\"]\n    ref = run.get(\"ref\")\n    if ref == \"refs/heads/main\":\n        where = \"**The run from main.**\"\n    else:\n        where = f\"**A run not from main.** This record is from `{scrub(str(ref))}`.\" if ref else \"**A run not from main.** This record names no ref.\"\n    head = (\n        f\"{where} Run {int(run.get('run_id', run.get('id')))}\"\n        + (f\", finished {finished(run['finished_at'])}\" if run.get(\"finished_at\") else \"\")\n        + \", in ScienceHub's CI \"\n        f\"repository, which is private. Outcome: **{evidence['outcome']}**.\"\n    )\n    if evidence[\"outcome\"] != \"accepted\":\n        lines = [head]\n        unmatched = [f[\"path\"] for f in evidence[\"source\"][\"files\"] if not f[\"match\"]]\n        if unmatched:\n            lines += [\"\", f\"{len(unmatched)} file{'s' if len(unmatched) != 1 else ''} did not match its pinned SHA-256: \" + \", \".join(f\"`{u}`\" for u in unmatched) + \".\"]\n        for name, result in evidence[\"runtimes\"].items():\n            if result[\"outcome\"] != \"accepted\":\n                if result.get(\"stage\") == \"not run\":\n                    lines += [\"\", f\"Under {name} the proof was not run.\"]\n                    continue\n                lines += [\"\", f\"Under {name} the run stopped at {result.get('stage')}.\"]\n                if result.get(\"reason\") is not None:\n                    reason = scrub(str(result[\"reason\"]))[:1500]\n                    fence = \"`\" * max(3, 1 + max((len(m) for m in re.findall(r\"`+\", reason)), default=0))\n                    lines += [\"\", f\"{fence}text\", reason, fence]\n        return \"\\n\".join(lines)\n    runtime = evidence[\"runtimes\"][\"runsc\"]\n    versions = runtime[\"lean\"][\"versions_json\"]\n    modules = runtime[\"modules\"]\n    files = evidence[\"source\"][\"files\"]\n    axioms = \"; \".join(\n        f\"`{name}`: \" + \", \".join(f\"`{a}`\" for a in entry[\"axioms\"])\n        for name, entry in runtime[\"axioms\"][\"theorems\"].items()\n    )\n    default, paranoid = runtime[\"comparator\"][\"default\"], runtime[\"comparator\"][\"paranoid\"]\n    others = \", \".join(f\"{name} {r['outcome']}\" for name, r in evidence[\"runtimes\"].items() if name != \"runsc\")\n    rows = [\n        (\"Image\", f\"`{image_digest(evidence['image'])}`\"),\n        (\"Lean\", f\"{versions['lean']} (commit `{versions['lean_commit'][:7]}`)\"),\n        (\"Mathlib\", f\"{versions['mathlib']} (commit `{versions['packages']['mathlib'][:7]}`)\"),\n        (\"Files fetched\", f\"{sum(1 for f in files if f['match'])} of {len(files)} matched their pinned SHA-256\"),\n        (\"Modules built\", f\"{sum(1 for m in modules if m['exit'] == 0)} of {len(runtime['build_order'])}, \" + plural(sum(int(m[\"warnings\"]) for m in modules), \"warning\")),\n        (\"Axioms\", axioms),\n        (\"Comparator, default mode\", f\"{default['verdict']} in {default['comparator_seconds']} s\"),\n        (\"Comparator, paranoid mode\", f\"{paranoid['verdict']} in {paranoid['comparator_seconds']} s: \" + \", \".join(f\"{k} {v}\" for k, v in paranoid[\"kernels\"].items())),\n        (\"The challenge as its own solution\", f\"{runtime['control']['verdict']} ({scrub(str(runtime['control']['reason']))})\"),\n        (\"Challenge export\", f\"`{runtime['challenge']['export_sha256']}`\"),\n        (\"Solution export\", f\"`{runtime['solution']['export_sha256']}`\"),\n    ]\n    return \"\\n\".join(\n        [\n            head,\n            \"\",\n            \"The table shows the run in a gVisor sandbox (runsc)\" + (f\"; the same proof under {others}.\" if others else \".\"),\n            \"\",\n            \"| | Value |\",\n            \"| --- | --- |\",\n            *(f\"| {label} | {value.replace('|', chr(92) + '|')} |\" for label, value in rows),\n            \"\",\n            \"The comparator's own sandbox is off in these runs, as in the earlier run below; separate \"\n            \"containers, with the judge seeing only the two exports, take its place. The two export hashes \"\n            \"are what you can compare without our runners; the steps follow.\",\n        ]\n    )\n\n\n@app.cell\ndef _():\n    import marimo as mo\n\n    return (mo,)\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    # A polynomial that cuts out affine space but is not a coordinate\n\n    Take a polynomial $F$ in $n$ complex variables whose zero set is a copy of\n    affine $(n-1)$-space, in the strong algebraic sense that\n    $\\mathbb C[x_1,\\dots,x_n]/(F)$ is a polynomial ring in $n-1$ variables.\n    Is there always a polynomial change of coordinates of $\\mathbb C^n$ that\n    turns $F$ into $x_1$? The Abhyankar–Sathaye conjecture says yes.\n\n    A preprint by OpenAI dated 24 Sep 2026 claims a counterexample in four\n    variables, and with it one in every dimension $n \\ge 4$. OpenAI's\n    repository `openai/math` publishes a Lean statement of this claim and a\n    proof of that statement. A second preprint, dated 5 Oct 2026, gives,\n    according to OpenAI's summary in its `CONTENTS.md`, a different\n    four-variable counterexample of degree five: a stable coordinate that\n    is not a coordinate.\n\n    This notebook shows the Lean statement, explains the construction\n    behind it, lets you evaluate the polynomial at its critical point, and\n    reproduces the Lean source in full. It also says what running Lean on\n    these files does and does not tell you.\n    \"\"\")\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## The question\n\n    **Coordinates.** Write $R_n = \\mathbb C[x_1,\\dots,x_n]$. A polynomial\n    $f \\in R_n$ is a *coordinate* if there are $f_2,\\dots,f_n$ with\n    $\\mathbb C[f, f_2, \\dots, f_n] = R_n$. Equivalently, some automorphism\n    of $R_n$ as a $\\mathbb C$-algebra sends a variable $x_i$ to $f$; or,\n    geometrically, some polynomial automorphism of $\\mathbb C^n$, with a\n    polynomial inverse, has $f$ as its first component. The polynomial\n    $x_1 + x_2^7$ is a coordinate; so is $x_1 + g(x_2,\\dots,x_n)$ for any $g$.\n\n    If $f$ is a coordinate, the automorphism carries the hypersurface\n    $f = 0$ onto the hyperplane $x_1 = 0$, so\n    $R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$. The same holds for every\n    fibre $f = c$.\n\n    **The conjecture.** The Abhyankar–Sathaye conjecture asks for the\n    converse: if $R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$ as\n    $\\mathbb C$-algebras, is $f$ a coordinate? Geometrically: can every\n    closed embedding of $\\mathbb C^{n-1}$ as a hypersurface in\n    $\\mathbb C^n$ be straightened by an automorphism of $\\mathbb C^n$? For\n    $n = 2$ the answer is yes; this is the theorem of Abhyankar and Moh and\n    of Suzuki on embeddings of the line in the plane.\n\n    **What is claimed.** The preprint claims, and OpenAI's Lean statement\n    below is written to state, that for every $n \\ge 4$ there is an\n    $F \\in R_n$ with $R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$ that is\n    not a coordinate. The example is explicit: a polynomial in four\n    variables, and the same polynomial in more variables for larger $n$.\n\n    **What is not covered.** The case $n = 3$. The first preprint says\n    \"The three-variable case is not addressed.\"\n    \"\"\")\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## The formal statement\n\n    For this result OpenAI publishes a *challenge file*: the statement\n    alone, with `sorry` in place of the proof. It imports only Mathlib.\n    This is `ComparatorChallenges/AbhyankarSathaye.lean` as published:\n\n    ```lean\n    import Mathlib.Algebra.MvPolynomial.CommRing\n    import Mathlib.Basic.Complex.Basic\n    import Mathlib.RingTheory.Ideal.Quotient.Operations\n\n    namespace OAI\n\n    namespace AbhyankarSathaye\n\n    /-- In every dimension at least four, a polynomial can define affine space\n    without being a coordinate of the ambient polynomial ring. -/\n    theorem exists_noncoordinate_polynomial (n : ℕ) (hn : 4 ≤ n) :\n        ∃ F : MvPolynomial (Fin n) ℂ,\n          Nonempty ((MvPolynomial (Fin n) ℂ ⧸ Ideal.span {F}) ≃ₐ[ℂ]\n            MvPolynomial (Fin (n - 1)) ℂ) ∧\n          ¬ ∃ (equiv : MvPolynomial (Fin n) ℂ ≃ₐ[ℂ] MvPolynomial (Fin n) ℂ)\n            (index : Fin n), equiv (MvPolynomial.X index) = F := by\n      sorry\n\n    end AbhyankarSathaye\n\n    end OAI\n    ```\n\n    Read it a line at a time.\n\n    - `(n : ℕ) (hn : 4 ≤ n)`: for every natural number $n$ with $n \\ge 4$.\n    - `MvPolynomial (Fin n) ℂ` is $R_n$: polynomials with complex\n      coefficients in variables `X 0`, …, `X (n-1)`.\n    - `∃ F : MvPolynomial (Fin n) ℂ, … ∧ …`: there is a polynomial $F$\n      with the two properties that follow. The statement only asserts that\n      such an $F$ exists; the proof supplies one.\n    - `MvPolynomial (Fin n) ℂ ⧸ Ideal.span {F}` is the quotient ring\n      $R_n/(F)$.\n    - `A ≃ₐ[ℂ] B` is the type of isomorphisms of $\\mathbb C$-algebras from\n      $A$ to $B$, and `Nonempty (…)` says there is at least one. So the first\n      property is $R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$. The `n - 1`\n      is subtraction of natural numbers, which is the usual one because\n      $n \\ge 4$.\n    - `¬ ∃ (equiv : …) (index : Fin n), equiv (MvPolynomial.X index) = F`:\n      there is no $\\mathbb C$-algebra automorphism of $R_n$ that sends some\n      variable to $F$. That is, $F$ is not a coordinate, in the sense\n      defined above.\n\n    The statement uses Mathlib's definitions only. Whether it says what the\n    conjecture says is a question about these few lines, not about the 1,445\n    lines of Lean below them.\n    \"\"\")\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## The construction\n\n    Work in $R = \\mathbb C[h,u,v,w]$, in the variable order the Lean files use.\n    Start from the cusp $(u^3, -u^2)$, on which $X^2 + Y^3 = 0$, and perturb\n    both entries by multiples of $h$:\n\n    $$x = u^3 + hv, \\qquad y = -u^2 + hw.$$\n\n    Then $x^2 + y^3$ vanishes modulo $h$, and the quotient is the polynomial\n\n    $$s = 2u^3v + 3u^4w + h\\,(v^2 - 3u^2w^2) + h^2w^3, \\qquad x^2 + y^3 = hs.$$\n\n    With $p = -2s^2x + 3sy^2 - 3s^3y$, the counterexample is\n\n    $$F = h - p - 1.$$\n\n    Expanded, $F$ has degree 17 in $h, u, v, w$ (our computation, not a claim\n    of the sources). Lean proves the identity above and\n    $(x + s^3)^2 + (y - s^2)^3 = x^2 + y^3 - sp$ with `ring`\n    (`cusp_universal` and `shift_universal` in `Identities.lean`), and from\n    them, in `ambient`,\n\n    $$(x + s^3)^2 + (y - s^2)^3 = s\\,(1 + F).$$\n\n    **The zero fibre is affine 3-space.** On $F = 0$ we have $h = 1 + p$.\n    The proof builds the isomorphism $R/(F) \\cong \\mathbb C[X,Y,T]$ in\n    stages. `Presentation.lean` rewrites $R/(F)$ with the auxiliary letters\n    $x$, $y$, $s$ alongside $u$, $v$, $w$. The algebra cut out by\n    $h = 1 + p(x,y,s)$ and $x^2 + y^3 = hs$ in the four letters $h$, $x$,\n    $y$, $s$ is a polynomial ring in $x + s^3$ and $y - s^2$ (`Plane.lean`).\n    Over that ring, the equations $u^3 + hv = x$, $-u^2 + hw = y$ and\n    $S(h,u,v,w) = s$ define a polynomial ring in one more variable\n    (`Lifting.lean`), because $x^2 + y^3 = hs$ and $\\alpha h + \\beta y = 1$\n    hold in that ring for explicit polynomials $\\alpha$ and $\\beta$\n    (`bezout_certificate` in `Identities.lean`, applied as `bezout` in\n    `Plane.lean`). `FiberFormulas.lean` records the result: the inverse\n    isomorphism sends $X$, $Y$, $T$ to $x + s^3$, $y - s^2$ and\n    $\\alpha u + \\beta (v + uw)$.\n\n    **$F$ is not a coordinate.** At the point\n    $P = (h,u,v,w) = (2, 0, -\\tfrac12, \\tfrac12)$,\n\n    $$x = -1, \\quad y = 1, \\quad s = 1, \\quad p = 2, \\quad F = -1,$$\n\n    so $x + s^3 = 0$ and $y - s^2 = 0$. Differentiate the ambient identity\n    in any variable:\n\n    $$2(x+s^3)\\,d(x+s^3) + 3(y-s^2)^2\\,d(y-s^2) = (1+F)\\,ds + s\\,dF.$$\n\n    At $P$ the left side is zero, $1 + F = 0$ and $s = 1$, so $dF(P) = 0$:\n    every partial derivative of $F$ vanishes at $P$\n    (`critical_derivatives` in `CriticalPoint.lean`).\n\n    A coordinate has no such point. If an automorphism $\\varphi$ of\n    $\\mathbb C^n$ has $F$ as its first component, the chain rule applied to\n    $\\varphi^{-1} \\circ \\varphi = \\mathrm{id}$ shows that the Jacobian\n    matrix of $\\varphi$ is invertible at every point, so its first row,\n    $\\nabla F$, is never zero. `NonCoordinate.lean` proves the algebraic form\n    of this for any nontrivial commutative ring of coefficients\n    (`polynomial_chain_rule`, `no_coordinate_of_critical`).\n\n    The critical point lies on the fibre $F = -1$, not on $F = 0$. The zero\n    fibre is smooth, as affine space is; the obstruction is in how $F$\n    behaves on the rest of $\\mathbb C^4$.\n\n    **More variables.** For every $n \\ge 4$, `Stabilization.lean` takes\n    the same $F$ in $\\mathbb C[h,u,v,w,z_1,\\dots,z_{n-4}]$, renaming its\n    variables into the first four of $n$ (for $n = 4$ this is $F$ itself).\n    The quotient gains the $z_i$ as free variables, and $(P, 0, \\dots, 0)$\n    is still a critical point, since $F$ does not depend on the $z_i$.\n    \"\"\")\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## Evaluate $F$ yourself\n\n    Move the point. The cell below computes $x$, $y$, $s$, $p$, $F$ and the\n    four partial derivatives of $F$ in exact rational arithmetic, with\n    Python's `fractions` and dual numbers for the derivatives, so no\n    rounding is involved. It starts at the critical point $P$. Try\n    $(1, 0, 0, 0)$, which lies on the zero fibre, to see a point where the\n    gradient is not zero.\n\n    This is our own spot check of facts the proof uses. It is not part of\n    the proof and does not replace it.\n    \"\"\")\n    return\n\n\n@app.cell\ndef _(mo):\n    h_in = mo.ui.slider(-3, 3, step=0.25, value=2, label=\"h\", show_value=True)\n    u_in = mo.ui.slider(-2, 2, step=0.25, value=0, label=\"u\", show_value=True)\n    v_in = mo.ui.slider(-2, 2, step=0.25, value=-0.5, label=\"v\", show_value=True)\n    w_in = mo.ui.slider(-2, 2, step=0.25, value=0.5, label=\"w\", show_value=True)\n    mo.vstack([h_in, u_in, v_in, w_in])\n    return h_in, u_in, v_in, w_in\n\n\n@app.cell\ndef _(h_in, mo, u_in, v_in, w_in):\n    point = [Fraction(_c.value) for _c in (h_in, u_in, v_in, w_in)]\n    values = construction(*point)\n    grad = gradient(point)\n    _left = (values[\"x\"] + values[\"s\"] ** 3) ** 2 + (values[\"y\"] - values[\"s\"] ** 2) ** 3\n    _right = values[\"s\"] * (1 + values[\"F\"])\n\n    _lines = [\n        f\"At $(h,u,v,w) = ({', '.join(str(_c) for _c in point)})$:\",\n        \"\",\n        \"| Quantity | Exact value |\",\n        \"| --- | --- |\",\n        *(f\"| ${_name}$ | {values[_name]} |\" for _name in (\"x\", \"y\", \"s\", \"p\", \"F\")),\n        *(f\"| $\\\\partial F/\\\\partial {_var}$ | {_g} |\" for _var, _g in zip(\"huvw\", grad)),\n        \"\",\n        \"Every partial derivative is zero: this is a critical point of $F$.\"\n        if all(_g == 0 for _g in grad)\n        else \"The gradient is not zero here.\",\n        \"\",\n        f\"The ambient identity at this point: $(x+s^3)^2 + (y-s^2)^3 = {_left}$ and $s(1+F) = {_right}$.\",\n    ]\n    mo.md(\"\\n\".join(_lines))\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(rf\"\"\"\n    ## The Lean source\n\n    Below are all 15 files of the proof and the challenge with its\n    comparator configuration, shown as published in\n    [openai/math](https://github.com/openai/math/tree/{OPENAI_COMMIT}/lean)\n    at commit `{OPENAI_COMMIT[:7]}`. They are OpenAI's work, licensed under\n    the Apache License 2.0. This project keeps them unchanged in its `lean/`\n    folder, with the licence text in `lean/LICENSE` and a statement of\n    changes (none) in `lean/NOTICE`. The challenge and its configuration\n    come first, then the proof files in the order they build;\n    `Counterexample.lean` holds the main theorem.\n\n    Each heading shows the file's SHA-256 as computed here and whether it\n    matches the hash the earlier run pinned before compiling.\n    \"\"\")\n    return\n\n\n@app.cell\ndef _(mo):\n    _panels = {}\n    for _path, _pinned in LEAN_FILES.items():\n        _file = LEAN / _path\n        if not _file.exists():\n            _panels[_path] = mo.md(\n                f\"`lean/{_path}` is missing. It ships with this project; download the project to read it.\"\n            )\n            continue\n        _bytes = _file.read_bytes()\n        _digest = hashlib.sha256(_bytes).hexdigest()\n        _match = \"matches the pinned hash\" if _digest == _pinned else \"does not match the pinned hash\"\n        _lines = _bytes.decode(\"utf-8\").count(\"\\n\")\n        _language = \"json\" if _path.endswith(\".json\") else \"lean\"\n        _title = f\"{_path} · {_lines} lines · sha256 {_digest[:12]}… {_match}\"\n        _panels[_title] = mo.md(f\"```{_language}\\n{_bytes.decode('utf-8')}```\")\n    mo.accordion(_panels)\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## How we ran it\n\n    This section reports the runs the ScienceHub team makes in CI. It is\n    not a status the site attaches to this notebook.\n\n    OpenAI's files pin Lean v4.34.1 and Mathlib at commit `d13f23b`.\n    ScienceHub's Lean image carries Lean v4.35.0 and Mathlib v4.35.0. In the\n    earlier run below, the 15 files built there without any change to their\n    source.\n\n    Each run uses Lean's comparator (`lake comparator`, shipped with Lean\n    v4.35.0) on two inputs: the challenge file above, and a solution file\n    that imports `Counterexample.lean`. The comparator\n\n    1. compares the theorem's statement in the solution with the\n       challenge's, together with every definition that statement mentions,\n       and accepts only an exact match, so the proof cannot have changed what\n       is being proved;\n    2. walks everything the proof uses and rejects any axiom outside\n       `propext`, `Quot.sound` and `Classical.choice`, the list OpenAI's\n       `AbhyankarSathaye.json` also gives. A `sorry` is an axiom too, so it\n       would be rejected;\n    3. replays the whole proof in Lean's kernel and, in paranoid mode, in\n       five more: Lean's kernel in its paranoid setting, lean4lean,\n       nanoda, con-leche and con-ron. All six must accept. Apart from\n       Lean's own kernel and its paranoid setting, the four are separate\n       implementations; all six read the same export.\n\n    OpenAI's configuration turns nanoda off (`\"enable_nanoda\": false`); our\n    paranoid mode includes it.\n    \"\"\")\n    return\n\n\n@app.cell\ndef _(mo):\n    mo.md(load_evidence())\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    **Reproducing the exports.** The CI repository and the image are private,\n    so neither the run nor the image can be opened from outside. The source\n    and the toolchain are public:\n\n    1. Install Lean v4.35.0 (`elan toolchain install leanprover/lean4:v4.35.0`)\n       and make a Lake project that requires Mathlib v4.35.0 (commit\n       `56a005855ea17e0b0958f73ec801ae140b0a1679`); run `lake exe cache get`.\n       Set `LEAN_PATH` to the output of `lake env printenv LEAN_PATH` with\n       the `build/` directory of steps 3 and 4 added.\n    2. Download the files in `lean/` from OpenAI's commit and compare each\n       SHA-256 with `LEAN_FILES` in this notebook's setup cell.\n    3. Copy `ComparatorChallenges/AbhyankarSathaye.lean` to\n       `Challenge.lean`, build it with\n       `lean -o build/Challenge.olean Challenge.lean`, and export it with the constants the comparator\n       exports, in this order:\n       `leanexport Challenge -- Quot Quot.mk Quot.lift Quot.ind\n       OAI.AbhyankarSathaye.exists_noncoordinate_polynomial propext\n       Classical.choice Quot.sound Nat.add Nat.sub Nat.mul Nat.pow Nat.gcd\n       Nat.div Nat.mod Nat.beq Nat.ble Nat.land Nat.lor Nat.xor\n       Nat.shiftLeft Nat.shiftRight String.ofList Char.ofNat List\n       eagerReduce Nat String String.mk Char optParam autoParam\n       semiOutParam outParam`.\n    4. Build the proof's modules with `-DautoImplicit=false`, in the order\n       the accordions above list them, into `build/`; then build a\n       `Solution.lean` that imports\n       `OAI.AlgebraicGeometry.AbhyankarSathaye.Counterexample` and export\n       it with the same constants.\n    5. Compare the SHA-256 of both exports with the table above, once a\n       run is recorded there. `leanexport` and `lake comparator` come with\n       the Lean v4.35.0 toolchain. To judge them yourself, write a configuration\n       with `challenge_module` `Challenge`, `solution_module` `Solution`,\n       the theorem in `theorem_names` and the three axioms in\n       `permitted_axioms`, and run `lake comparator --config` on it with\n       `--challenge-from-export` and `--solution-from-export`, and again\n       with `--paranoid` for the six kernels.\n\n    Nobody has yet compared these hashes with exports made outside the\n    image. Until someone does, a hash that differs points to a difference in\n    the environment first, not in the proof.\n\n    **An earlier run.** Before the proof-check workflow existed, a one-off run on\n    27 Oct 2026 (run 40517420641, in ScienceHub's CI repository, which is\n    private) built the same files in ScienceHub's Lean image with digest\n    `sha256:6088835cad94bf6a0b098129d65182f13ae62ffd57bf31676505de221372ef6f`,\n    with Lean v4.35.0 (commit `eb6cafb`) and Mathlib v4.35.0 (commit\n    `56a0058`). It fetched each file from OpenAI's commit and compared it\n    with pinned SHA-256 sums, the same ones this notebook's setup cell\n    lists, before building. All 15 modules built with no warnings; the\n    challenge's one warning is its `sorry`.\n    `#print axioms` listed `propext`, `Classical.choice` and `Quot.sound`.\n    The comparator accepted the proof in default mode in 13.1 s, and in\n    paranoid mode all six kernels accepted it in 41.3 s. In that run the\n    build and the comparator shared one container with no network access,\n    and the comparator's own sandbox was switched off, so it printed\n    \"WARNING: Sandbox disabled, this run is not trustworthy.\" That run\n    therefore did not separate building the proof from judging it. The\n    image is not public yet.\n    \"\"\")\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## What this does and does not establish\n\n    An accepted run, provided the proof's build could not influence the\n    judge, says that the Lean statement shown above, read with Mathlib\n    v4.35.0's definitions, is proved in Lean's logic using no axiom beyond\n    `propext`, `Quot.sound` and `Classical.choice`, and, in paranoid mode,\n    that six kernels accept the proof. It says nothing about the preprints'\n    prose (cited under References): their arguments, their history of the\n    problem and their wider claims are not what Lean read. The second\n    preprint, according to OpenAI's notes, concerns a different polynomial\n    of degree five and the stable coordinate conjecture; its Lean result is\n    a separate one, not shown here.\n\n    Whether the formal statement is a faithful rendering of the\n    Abhyankar–Sathaye question is for you to judge from the statement\n    itself. OpenAI's catalogue of its formalizations,\n    `lean/formalization.yaml` in openai/math, gives the review status of the\n    collection as `unchecked` and names the method that produced them as\n    `agent`. Nobody at ScienceHub has yet had an algebraist read this\n    statement. If you are one, and you find a gap between the Lean and the\n    mathematics, please open a discussion on this project.\n\n    The exact-arithmetic cell above checks values at points you choose. It\n    confirms that $P$ is a critical point with $F(P) = -1$; it does not\n    show that the zero fibre is affine space.\n    \"\"\")\n    return\n\n\n@app.cell(hide_code=True)\ndef _(mo):\n    mo.md(r\"\"\"\n    ## References\n\n    **Sources.** The Lean files and both preprints are by OpenAI, from\n    [github.com/openai/math](https://github.com/openai/math) at commit\n    `7ef5c0cc5ca4b0e072b7a050fca09ab24bc6fa3a`, under the Apache License\n    2.0. OpenAI's own summary of what the files cover is `lean/docs/049.md`\n    in that repository, which also covers two related results.\n\n    ```bibtex\n    @misc{OAI:An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026,\n      author = {{OpenAI}},\n      title = {{An explicit noncoordinate polynomial with affine three-space zero fibre}},\n      howpublished = {OpenAI Math Release preprint\n                      \\href{https://github.com/openai/math/blob/main/preprints/An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026/paper.pdf}{OAI:An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026}},\n      year = {2026}\n    }\n\n    @misc{OAI:A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026,\n      author = {{OpenAI}},\n      title = {{A stable coordinate that is not a coordinate in four variables}},\n      howpublished = {OpenAI Math Release preprint\n                      \\href{https://github.com/openai/math/blob/main/preprints/A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026/stable-coordinate-four-variables.pdf}{OAI:A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026}},\n      year = {2026}\n    }\n    ```\n\n    **Background.** S. S. Abhyankar and T. T. Moh, Embeddings of the line in\n    the plane, *J. Reine Angew. Math.* 276 (1975) 148–166,\n    doi:10.1515/crll.1975.276.148. M. Suzuki, Propriétés topologiques des\n    polynômes de deux variables complexes, et automorphismes algébriques de\n    l'espace $\\mathbb C^2$, *J. Math. Soc. Japan* 26 (1974) 241–257,\n    doi:10.2969/jmsj/02620241. H. Kraft, Challenging problems on affine\n    $n$-space, Séminaire Bourbaki 802, *Astérisque* 237 (1996) 295–317.\n    V. Shpilrain and J.-T. Yu, Embeddings of hypersurfaces in affine spaces,\n    *J. Algebra* 239 (2001) 161–173, doi:10.1006/jabr.2000.8677, on the\n    critical locus as an obstruction.\n\n    **This notebook.** Text and code by the ScienceHub team, Apache 2.0,\n    except the quoted challenge file and the Lean source, which are\n    OpenAI's and are reproduced unchanged.\n    \"\"\")\n    return\n\n\nif __name__ == \"__main__\":\n    app.run()\n","revision":"2026-10-29T17:32:33.834Z","appConfig":{"width":"medium","app_title":"A polynomial that cuts out affine space but is not a coordinate"},"firstPaint":{"notebook":{"cells":[{"code":"import hashlib\nimport json\nimport re\nfrom fractions import Fraction\nfrom pathlib import Path\n\nLEAN = Path(\"lean\")\nEVIDENCE = Path(\"evidence/openai-049.json\")\nEVIDENCE_MISSING = (\n    \"This project has no record of a run from main yet. The record will be \"\n    \"`evidence/openai-049.json` in this project, and this cell will show it.\"\n)\nOPENAI_COMMIT = \"7ef5c0cc5ca4b0e072b7a050fca09ab24bc6fa3a\"\n\n# Each file with the SHA-256 that the build pinned before compiling it.\nLEAN_FILES = {\n    \"ComparatorChallenges/AbhyankarSathaye.lean\": \"a7db47dbd441d730d082f3cae61a2d7f22fd37aae46429dc269b290f262504c6\",\n    \"ComparatorChallenges/AbhyankarSathaye.json\": \"c7e954153e064582ebcbaf85deacc29f933dca1c7188e90a6a78eb17b929148f\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Identities.lean\": \"821185a3f4e290139437d03fac7e77bd07c0c17ebde1bb12557e3a4b17791bb0\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/CriticalPoint.lean\": \"8482fed2b765a9cdcbb651302ce0f1dd9916a009bd785bca371640b01974e33b\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/NonCoordinate.lean\": \"4d65effda7f183af78ad4c46ad3ea01cf9eb9ec8cc9aba113160a2e61f3c2ac8\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/LiftingIdentities.lean\": \"96493e2252652628a81442007f1166ac4c9556e7a64ba85b7bca80d1abff0ccb\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Quotient.lean\": \"a9ca84c304ea3e6c692f101399eb0be4510e9942d9df4c81d1a0fb36efafe065\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Reconstruction.lean\": \"e3d5adf0a453e79048927bdef4de1f2984eb8ebe8879414614c45210f441429d\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/LinearElimination.lean\": \"213837b77e099684e5796964f349a987e5074de3c7958a685cb1e279041f9d7a\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Lifting.lean\": \"1572068ef8754f570b77049940b69f9c6fe4450390f818394c40f5a9af1dd323\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Plane.lean\": \"048bdff674496e8f346f41c505a1f3ff74f2e29d3a50f12e005efe2ab6f82ed3\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Presentation.lean\": \"0e7b8ed7ab6d7634969b226198f273458b4a7c0b5737a803584f5c17a8e1b6a0\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Fiber.lean\": \"d00e86d6250e5f0b63af7a486134d58fe2d60b50c1ff8c6f1d109f6d44156c49\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/FiberFormulas.lean\": \"172b6d1609d4a0c7b3ccd56011ca4a5135e789e25801b6b77038f7ff83699876\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Stabilization.lean\": \"c679b604d36b8d6275e0b3924dd2269d25e08f4cda4b29d3770997f1dc7ada99\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/LinearPresentation.lean\": \"0bd3cd657eb53f988e3343a1671038c88117fa220a7cd9f85322c34fc35db8e8\",\n    \"OAI/AlgebraicGeometry/AbhyankarSathaye/Counterexample.lean\": \"75c94499e489e26905564aa853cde0875bbab6354d29aff7ebb8bf80899bb04f\",\n}","code_hash":"b086fedf837fda46cfbad61f01c0cfb5","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"setup","name":"setup"},{"code":"class Dual:\n    \"\"\"A number a + b·ε with ε² = 0. Evaluating a polynomial at x + ε gives its derivative at x in b, exactly.\"\"\"\n\n    def __init__(self, a, b=0):\n        self.a, self.b = Fraction(a), Fraction(b)\n\n    @staticmethod\n    def _lift(other):\n        return other if isinstance(other, Dual) else Dual(other)\n\n    def __add__(self, other):\n        other = Dual._lift(other)\n        return Dual(self.a + other.a, self.b + other.b)\n\n    __radd__ = __add__\n\n    def __neg__(self):\n        return Dual(-self.a, -self.b)\n\n    def __sub__(self, other):\n        return self + (-Dual._lift(other))\n\n    def __rsub__(self, other):\n        return Dual._lift(other) - self\n\n    def __mul__(self, other):\n        other = Dual._lift(other)\n        return Dual(self.a * other.a, self.a * other.b + self.b * other.a)\n\n    __rmul__ = __mul__\n\n    def __pow__(self, n: int):\n        result = Dual(1)\n        for _ in range(n):\n            result = result * self\n        return result","code_hash":"307d21679f384fd6aee29b55ecb183a6","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"Hbol","name":"*Dual"},{"code":"def S(h, u, v, w):\n    \"\"\"The quotient (x² + y³)/h, as `S` in Identities.lean.\"\"\"\n    return 2 * u**3 * v + 3 * u**4 * w + h * (v**2 - 3 * u**2 * w**2) + h**2 * w**3","code_hash":"b5b5333e56860818e8e1df16490a84b4","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"MJUe","name":"*S"},{"code":"def P(x, y, s):\n    \"\"\"The correction term p, as `P` in Identities.lean. Not the critical point P of the text.\"\"\"\n    return -2 * s**2 * x + 3 * s * y**2 - 3 * s**3 * y","code_hash":"249708658abba11edb862a82994aa89c","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"vblA","name":"*P"},{"code":"def construction(h, u, v, w) -> dict:\n    \"\"\"x, y, s, p and F at one point, in the order of Identities.lean.\"\"\"\n    x = u**3 + h * v\n    y = -(u**2) + h * w\n    s = S(h, u, v, w)\n    p = P(x, y, s)\n    return {\"x\": x, \"y\": y, \"s\": s, \"p\": p, \"F\": h - p - 1}","code_hash":"644ab6254b0df6cc49bb641564ad3db1","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"bkHC","name":"*construction"},{"code":"def gradient(point) -> list:\n    \"\"\"The four partial derivatives of F at a point, exact over the rationals.\"\"\"\n    partials = []\n    for i in range(4):\n        seeded = [Dual(c, 1 if j == i else 0) for j, c in enumerate(point)]\n        partials.append(construction(*seeded)[\"F\"].b)\n    return partials","code_hash":"cd2e86da7d7440a937d095742bc88f9d","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"lEQa","name":"*gradient"},{"code":"def load_evidence(path: Path = EVIDENCE) -> str:\n    \"\"\"The record of a Lean proof check run as Markdown, or a sentence saying why there is none to show.\"\"\"\n    try:\n        evidence = json.loads(path.read_text(encoding=\"utf-8\"))\n    except FileNotFoundError:\n        return EVIDENCE_MISSING\n    except (OSError, ValueError) as error:\n        return f\"`{path}` cannot be read: {error}.\"\n    try:\n        return evidence_summary(evidence)\n    except (AttributeError, KeyError, TypeError, ValueError, StopIteration):\n        return f\"`{path}` is not a record of the kind this notebook reads.\"","code_hash":"32314d69c4f51dad83ae9e3948c05827","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"PKri","name":"*load_evidence"},{"code":"def scrub(text: str) -> str:\n    \"\"\"Text from a run record with the owner of ScienceHub's CI repository and image replaced by OWNER.\"\"\"\n    keep = {\"ghcr.io\", \"github.com\", \"api.github.com\", \"docker.io\", \"v2\", \"repos\"}\n\n    def owner(match):\n        return match.group(0) if match.group(1) in keep else \"OWNER/\"\n\n    return re.sub(r\"([\\w.-]+)/(?=sciencehub(?:-lean)?\\b)\", owner, text)","code_hash":"71ca114e441df6775e9d0468394580dd","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"Xref","name":"*scrub"},{"code":"def plural(count: int, word: str) -> str:\n    return f\"{count} {word}\" + (\"\" if count == 1 else \"s\")","code_hash":"600f62403721cf34c553ced1faaddf8a","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"SFPL","name":"*plural"},{"code":"def finished(stamp: str) -> str:\n    \"\"\"An ISO time as a date like 28 Oct 2026.\"\"\"\n    from datetime import datetime\n\n    moment = datetime.fromisoformat(str(stamp).replace(\"Z\", \"+00:00\"))\n    return f\"{moment.day} {moment.strftime('%b %Y')}\"","code_hash":"37d8bb1a49eee56d31fc736a3d1f7de4","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"BYtC","name":"*finished"},{"code":"def image_digest(image) -> str:\n    \"\"\"The image's digest alone, from a record that gives a digest or, in its first format, a full reference.\"\"\"\n    if isinstance(image, dict):\n        image = image.get(\"digest\") or image[\"ref\"]\n    digest = str(image).rsplit(\"@\", 1)[-1]\n    if not digest.startswith(\"sha256:\"):\n        raise ValueError(digest)\n    return digest","code_hash":"2afcf8ade4b4a2e9022b20fb9a9926c1","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"RGSE","name":"*image_digest"},{"code":"def evidence_summary(evidence: dict) -> str:\n    \"\"\"The record as Markdown. It names the run by number and the image by digest only.\n\n    A run that was not accepted is shown by its outcome and the reason each runtime gives;\n    the table is for accepted runs, whose records have every field it reads.\n    \"\"\"\n    if not str(evidence[\"schema\"]).startswith(\"sciencehub.lean-proof-evidence/\"):\n        raise ValueError(evidence[\"schema\"])\n    run = evidence[\"run\"]\n    ref = run.get(\"ref\")\n    if ref == \"refs/heads/main\":\n        where = \"**The run from main.**\"\n    else:\n        where = f\"**A run not from main.** This record is from `{scrub(str(ref))}`.\" if ref else \"**A run not from main.** This record names no ref.\"\n    head = (\n        f\"{where} Run {int(run.get('run_id', run.get('id')))}\"\n        + (f\", finished {finished(run['finished_at'])}\" if run.get(\"finished_at\") else \"\")\n        + \", in ScienceHub's CI \"\n        f\"repository, which is private. Outcome: **{evidence['outcome']}**.\"\n    )\n    if evidence[\"outcome\"] != \"accepted\":\n        lines = [head]\n        unmatched = [f[\"path\"] for f in evidence[\"source\"][\"files\"] if not f[\"match\"]]\n        if unmatched:\n            lines += [\"\", f\"{len(unmatched)} file{'s' if len(unmatched) != 1 else ''} did not match its pinned SHA-256: \" + \", \".join(f\"`{u}`\" for u in unmatched) + \".\"]\n        for name, result in evidence[\"runtimes\"].items():\n            if result[\"outcome\"] != \"accepted\":\n                if result.get(\"stage\") == \"not run\":\n                    lines += [\"\", f\"Under {name} the proof was not run.\"]\n                    continue\n                lines += [\"\", f\"Under {name} the run stopped at {result.get('stage')}.\"]\n                if result.get(\"reason\") is not None:\n                    reason = scrub(str(result[\"reason\"]))[:1500]\n                    fence = \"`\" * max(3, 1 + max((len(m) for m in re.findall(r\"`+\", reason)), default=0))\n                    lines += [\"\", f\"{fence}text\", reason, fence]\n        return \"\\n\".join(lines)\n    runtime = evidence[\"runtimes\"][\"runsc\"]\n    versions = runtime[\"lean\"][\"versions_json\"]\n    modules = runtime[\"modules\"]\n    files = evidence[\"source\"][\"files\"]\n    axioms = \"; \".join(\n        f\"`{name}`: \" + \", \".join(f\"`{a}`\" for a in entry[\"axioms\"])\n        for name, entry in runtime[\"axioms\"][\"theorems\"].items()\n    )\n    default, paranoid = runtime[\"comparator\"][\"default\"], runtime[\"comparator\"][\"paranoid\"]\n    others = \", \".join(f\"{name} {r['outcome']}\" for name, r in evidence[\"runtimes\"].items() if name != \"runsc\")\n    rows = [\n        (\"Image\", f\"`{image_digest(evidence['image'])}`\"),\n        (\"Lean\", f\"{versions['lean']} (commit `{versions['lean_commit'][:7]}`)\"),\n        (\"Mathlib\", f\"{versions['mathlib']} (commit `{versions['packages']['mathlib'][:7]}`)\"),\n        (\"Files fetched\", f\"{sum(1 for f in files if f['match'])} of {len(files)} matched their pinned SHA-256\"),\n        (\"Modules built\", f\"{sum(1 for m in modules if m['exit'] == 0)} of {len(runtime['build_order'])}, \" + plural(sum(int(m[\"warnings\"]) for m in modules), \"warning\")),\n        (\"Axioms\", axioms),\n        (\"Comparator, default mode\", f\"{default['verdict']} in {default['comparator_seconds']} s\"),\n        (\"Comparator, paranoid mode\", f\"{paranoid['verdict']} in {paranoid['comparator_seconds']} s: \" + \", \".join(f\"{k} {v}\" for k, v in paranoid[\"kernels\"].items())),\n        (\"The challenge as its own solution\", f\"{runtime['control']['verdict']} ({scrub(str(runtime['control']['reason']))})\"),\n        (\"Challenge export\", f\"`{runtime['challenge']['export_sha256']}`\"),\n        (\"Solution export\", f\"`{runtime['solution']['export_sha256']}`\"),\n    ]\n    return \"\\n\".join(\n        [\n            head,\n            \"\",\n            \"The table shows the run in a gVisor sandbox (runsc)\" + (f\"; the same proof under {others}.\" if others else \".\"),\n            \"\",\n            \"| | Value |\",\n            \"| --- | --- |\",\n            *(f\"| {label} | {value.replace('|', chr(92) + '|')} |\" for label, value in rows),\n            \"\",\n            \"The comparator's own sandbox is off in these runs, as in the earlier run below; separate \"\n            \"containers, with the judge seeing only the two exports, take its place. The two export hashes \"\n            \"are what you can compare without our runners; the steps follow.\",\n        ]\n    )","code_hash":"88146a8e35b2867e53f34937a95424b2","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"Kclp","name":"*evidence_summary"},{"code":"import marimo as mo","code_hash":"1d0db38904205bec4d6f6f6a1f6cec3e","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"emfo","name":"_"},{"code":"mo.md(r\"\"\"\n# A polynomial that cuts out affine space but is not a coordinate\n\nTake a polynomial $F$ in $n$ complex variables whose zero set is a copy of\naffine $(n-1)$-space, in the strong algebraic sense that\n$\\mathbb C[x_1,\\dots,x_n]/(F)$ is a polynomial ring in $n-1$ variables.\nIs there always a polynomial change of coordinates of $\\mathbb C^n$ that\nturns $F$ into $x_1$? The Abhyankar–Sathaye conjecture says yes.\n\nA preprint by OpenAI dated 24 Sep 2026 claims a counterexample in four\nvariables, and with it one in every dimension $n \\ge 4$. OpenAI's\nrepository `openai/math` publishes a Lean statement of this claim and a\nproof of that statement. A second preprint, dated 5 Oct 2026, gives,\naccording to OpenAI's summary in its `CONTENTS.md`, a different\nfour-variable counterexample of degree five: a stable coordinate that\nis not a coordinate.\n\nThis notebook shows the Lean statement, explains the construction\nbehind it, lets you evaluate the polynomial at its critical point, and\nreproduces the Lean source in full. It also says what running Lean on\nthese files does and does not tell you.\n\"\"\")","code_hash":"89d8c6d1459c489f4af3828f01f62edd","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"Hstk","name":"_"},{"code":"mo.md(r\"\"\"\n## The question\n\n**Coordinates.** Write $R_n = \\mathbb C[x_1,\\dots,x_n]$. A polynomial\n$f \\in R_n$ is a *coordinate* if there are $f_2,\\dots,f_n$ with\n$\\mathbb C[f, f_2, \\dots, f_n] = R_n$. Equivalently, some automorphism\nof $R_n$ as a $\\mathbb C$-algebra sends a variable $x_i$ to $f$; or,\ngeometrically, some polynomial automorphism of $\\mathbb C^n$, with a\npolynomial inverse, has $f$ as its first component. The polynomial\n$x_1 + x_2^7$ is a coordinate; so is $x_1 + g(x_2,\\dots,x_n)$ for any $g$.\n\nIf $f$ is a coordinate, the automorphism carries the hypersurface\n$f = 0$ onto the hyperplane $x_1 = 0$, so\n$R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$. The same holds for every\nfibre $f = c$.\n\n**The conjecture.** The Abhyankar–Sathaye conjecture asks for the\nconverse: if $R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$ as\n$\\mathbb C$-algebras, is $f$ a coordinate? Geometrically: can every\nclosed embedding of $\\mathbb C^{n-1}$ as a hypersurface in\n$\\mathbb C^n$ be straightened by an automorphism of $\\mathbb C^n$? For\n$n = 2$ the answer is yes; this is the theorem of Abhyankar and Moh and\nof Suzuki on embeddings of the line in the plane.\n\n**What is claimed.** The preprint claims, and OpenAI's Lean statement\nbelow is written to state, that for every $n \\ge 4$ there is an\n$F \\in R_n$ with $R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$ that is\nnot a coordinate. The example is explicit: a polynomial in four\nvariables, and the same polynomial in more variables for larger $n$.\n\n**What is not covered.** The case $n = 3$. The first preprint says\n\"The three-variable case is not addressed.\"\n\"\"\")","code_hash":"74ca292afcafdb3c65abf7ca7347da89","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"nWHF","name":"_"},{"code":"mo.md(r\"\"\"\n## The formal statement\n\nFor this result OpenAI publishes a *challenge file*: the statement\nalone, with `sorry` in place of the proof. It imports only Mathlib.\nThis is `ComparatorChallenges/AbhyankarSathaye.lean` as published:\n\n```lean\nimport Mathlib.Algebra.MvPolynomial.CommRing\nimport Mathlib.Basic.Complex.Basic\nimport Mathlib.RingTheory.Ideal.Quotient.Operations\n\nnamespace OAI\n\nnamespace AbhyankarSathaye\n\n/-- In every dimension at least four, a polynomial can define affine space\nwithout being a coordinate of the ambient polynomial ring. -/\ntheorem exists_noncoordinate_polynomial (n : ℕ) (hn : 4 ≤ n) :\n    ∃ F : MvPolynomial (Fin n) ℂ,\n      Nonempty ((MvPolynomial (Fin n) ℂ ⧸ Ideal.span {F}) ≃ₐ[ℂ]\n        MvPolynomial (Fin (n - 1)) ℂ) ∧\n      ¬ ∃ (equiv : MvPolynomial (Fin n) ℂ ≃ₐ[ℂ] MvPolynomial (Fin n) ℂ)\n        (index : Fin n), equiv (MvPolynomial.X index) = F := by\n  sorry\n\nend AbhyankarSathaye\n\nend OAI\n```\n\nRead it a line at a time.\n\n- `(n : ℕ) (hn : 4 ≤ n)`: for every natural number $n$ with $n \\ge 4$.\n- `MvPolynomial (Fin n) ℂ` is $R_n$: polynomials with complex\n  coefficients in variables `X 0`, …, `X (n-1)`.\n- `∃ F : MvPolynomial (Fin n) ℂ, … ∧ …`: there is a polynomial $F$\n  with the two properties that follow. The statement only asserts that\n  such an $F$ exists; the proof supplies one.\n- `MvPolynomial (Fin n) ℂ ⧸ Ideal.span {F}` is the quotient ring\n  $R_n/(F)$.\n- `A ≃ₐ[ℂ] B` is the type of isomorphisms of $\\mathbb C$-algebras from\n  $A$ to $B$, and `Nonempty (…)` says there is at least one. So the first\n  property is $R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]$. The `n - 1`\n  is subtraction of natural numbers, which is the usual one because\n  $n \\ge 4$.\n- `¬ ∃ (equiv : …) (index : Fin n), equiv (MvPolynomial.X index) = F`:\n  there is no $\\mathbb C$-algebra automorphism of $R_n$ that sends some\n  variable to $F$. That is, $F$ is not a coordinate, in the sense\n  defined above.\n\nThe statement uses Mathlib's definitions only. Whether it says what the\nconjecture says is a question about these few lines, not about the 1,445\nlines of Lean below them.\n\"\"\")","code_hash":"35e98303da2a24748845c90fd4890760","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"iLit","name":"_"},{"code":"mo.md(r\"\"\"\n## The construction\n\nWork in $R = \\mathbb C[h,u,v,w]$, in the variable order the Lean files use.\nStart from the cusp $(u^3, -u^2)$, on which $X^2 + Y^3 = 0$, and perturb\nboth entries by multiples of $h$:\n\n$$x = u^3 + hv, \\qquad y = -u^2 + hw.$$\n\nThen $x^2 + y^3$ vanishes modulo $h$, and the quotient is the polynomial\n\n$$s = 2u^3v + 3u^4w + h\\,(v^2 - 3u^2w^2) + h^2w^3, \\qquad x^2 + y^3 = hs.$$\n\nWith $p = -2s^2x + 3sy^2 - 3s^3y$, the counterexample is\n\n$$F = h - p - 1.$$\n\nExpanded, $F$ has degree 17 in $h, u, v, w$ (our computation, not a claim\nof the sources). Lean proves the identity above and\n$(x + s^3)^2 + (y - s^2)^3 = x^2 + y^3 - sp$ with `ring`\n(`cusp_universal` and `shift_universal` in `Identities.lean`), and from\nthem, in `ambient`,\n\n$$(x + s^3)^2 + (y - s^2)^3 = s\\,(1 + F).$$\n\n**The zero fibre is affine 3-space.** On $F = 0$ we have $h = 1 + p$.\nThe proof builds the isomorphism $R/(F) \\cong \\mathbb C[X,Y,T]$ in\nstages. `Presentation.lean` rewrites $R/(F)$ with the auxiliary letters\n$x$, $y$, $s$ alongside $u$, $v$, $w$. The algebra cut out by\n$h = 1 + p(x,y,s)$ and $x^2 + y^3 = hs$ in the four letters $h$, $x$,\n$y$, $s$ is a polynomial ring in $x + s^3$ and $y - s^2$ (`Plane.lean`).\nOver that ring, the equations $u^3 + hv = x$, $-u^2 + hw = y$ and\n$S(h,u,v,w) = s$ define a polynomial ring in one more variable\n(`Lifting.lean`), because $x^2 + y^3 = hs$ and $\\alpha h + \\beta y = 1$\nhold in that ring for explicit polynomials $\\alpha$ and $\\beta$\n(`bezout_certificate` in `Identities.lean`, applied as `bezout` in\n`Plane.lean`). `FiberFormulas.lean` records the result: the inverse\nisomorphism sends $X$, $Y$, $T$ to $x + s^3$, $y - s^2$ and\n$\\alpha u + \\beta (v + uw)$.\n\n**$F$ is not a coordinate.** At the point\n$P = (h,u,v,w) = (2, 0, -\\tfrac12, \\tfrac12)$,\n\n$$x = -1, \\quad y = 1, \\quad s = 1, \\quad p = 2, \\quad F = -1,$$\n\nso $x + s^3 = 0$ and $y - s^2 = 0$. Differentiate the ambient identity\nin any variable:\n\n$$2(x+s^3)\\,d(x+s^3) + 3(y-s^2)^2\\,d(y-s^2) = (1+F)\\,ds + s\\,dF.$$\n\nAt $P$ the left side is zero, $1 + F = 0$ and $s = 1$, so $dF(P) = 0$:\nevery partial derivative of $F$ vanishes at $P$\n(`critical_derivatives` in `CriticalPoint.lean`).\n\nA coordinate has no such point. If an automorphism $\\varphi$ of\n$\\mathbb C^n$ has $F$ as its first component, the chain rule applied to\n$\\varphi^{-1} \\circ \\varphi = \\mathrm{id}$ shows that the Jacobian\nmatrix of $\\varphi$ is invertible at every point, so its first row,\n$\\nabla F$, is never zero. `NonCoordinate.lean` proves the algebraic form\nof this for any nontrivial commutative ring of coefficients\n(`polynomial_chain_rule`, `no_coordinate_of_critical`).\n\nThe critical point lies on the fibre $F = -1$, not on $F = 0$. The zero\nfibre is smooth, as affine space is; the obstruction is in how $F$\nbehaves on the rest of $\\mathbb C^4$.\n\n**More variables.** For every $n \\ge 4$, `Stabilization.lean` takes\nthe same $F$ in $\\mathbb C[h,u,v,w,z_1,\\dots,z_{n-4}]$, renaming its\nvariables into the first four of $n$ (for $n = 4$ this is $F$ itself).\nThe quotient gains the $z_i$ as free variables, and $(P, 0, \\dots, 0)$\nis still a critical point, since $F$ does not depend on the $z_i$.\n\"\"\")","code_hash":"c75d0d0f69cfff3d04cf44f941bca707","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"ZHCJ","name":"_"},{"code":"mo.md(r\"\"\"\n## Evaluate $F$ yourself\n\nMove the point. The cell below computes $x$, $y$, $s$, $p$, $F$ and the\nfour partial derivatives of $F$ in exact rational arithmetic, with\nPython's `fractions` and dual numbers for the derivatives, so no\nrounding is involved. It starts at the critical point $P$. Try\n$(1, 0, 0, 0)$, which lies on the zero fibre, to see a point where the\ngradient is not zero.\n\nThis is our own spot check of facts the proof uses. It is not part of\nthe proof and does not replace it.\n\"\"\")","code_hash":"dc72665d57039ee97ee98837150a5fd4","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"ROlb","name":"_"},{"code":"h_in = mo.ui.slider(-3, 3, step=0.25, value=2, label=\"h\", show_value=True)\nu_in = mo.ui.slider(-2, 2, step=0.25, value=0, label=\"u\", show_value=True)\nv_in = mo.ui.slider(-2, 2, step=0.25, value=-0.5, label=\"v\", show_value=True)\nw_in = mo.ui.slider(-2, 2, step=0.25, value=0.5, label=\"w\", show_value=True)\nmo.vstack([h_in, u_in, v_in, w_in])","code_hash":"c12723de773aa9f450c58cfec4481867","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"qnkX","name":"_"},{"code":"point = [Fraction(_c.value) for _c in (h_in, u_in, v_in, w_in)]\nvalues = construction(*point)\ngrad = gradient(point)\n_left = (values[\"x\"] + values[\"s\"] ** 3) ** 2 + (values[\"y\"] - values[\"s\"] ** 2) ** 3\n_right = values[\"s\"] * (1 + values[\"F\"])\n\n_lines = [\n    f\"At $(h,u,v,w) = ({', '.join(str(_c) for _c in point)})$:\",\n    \"\",\n    \"| Quantity | Exact value |\",\n    \"| --- | --- |\",\n    *(f\"| ${_name}$ | {values[_name]} |\" for _name in (\"x\", \"y\", \"s\", \"p\", \"F\")),\n    *(f\"| $\\\\partial F/\\\\partial {_var}$ | {_g} |\" for _var, _g in zip(\"huvw\", grad)),\n    \"\",\n    \"Every partial derivative is zero: this is a critical point of $F$.\"\n    if all(_g == 0 for _g in grad)\n    else \"The gradient is not zero here.\",\n    \"\",\n    f\"The ambient identity at this point: $(x+s^3)^2 + (y-s^2)^3 = {_left}$ and $s(1+F) = {_right}$.\",\n]\nmo.md(\"\\n\".join(_lines))","code_hash":"fcd2e71284152009532493b4da28862a","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"TqIu","name":"_"},{"code":"mo.md(rf\"\"\"\n## The Lean source\n\nBelow are all 15 files of the proof and the challenge with its\ncomparator configuration, shown as published in\n[openai/math](https://github.com/openai/math/tree/{OPENAI_COMMIT}/lean)\nat commit `{OPENAI_COMMIT[:7]}`. They are OpenAI's work, licensed under\nthe Apache License 2.0. This project keeps them unchanged in its `lean/`\nfolder, with the licence text in `lean/LICENSE` and a statement of\nchanges (none) in `lean/NOTICE`. The challenge and its configuration\ncome first, then the proof files in the order they build;\n`Counterexample.lean` holds the main theorem.\n\nEach heading shows the file's SHA-256 as computed here and whether it\nmatches the hash the earlier run pinned before compiling.\n\"\"\")","code_hash":"9699dbb8d01016de5c075b34cde00695","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"Vxnm","name":"_"},{"code":"_panels = {}\nfor _path, _pinned in LEAN_FILES.items():\n    _file = LEAN / _path\n    if not _file.exists():\n        _panels[_path] = mo.md(\n            f\"`lean/{_path}` is missing. It ships with this project; download the project to read it.\"\n        )\n        continue\n    _bytes = _file.read_bytes()\n    _digest = hashlib.sha256(_bytes).hexdigest()\n    _match = \"matches the pinned hash\" if _digest == _pinned else \"does not match the pinned hash\"\n    _lines = _bytes.decode(\"utf-8\").count(\"\\n\")\n    _language = \"json\" if _path.endswith(\".json\") else \"lean\"\n    _title = f\"{_path} · {_lines} lines · sha256 {_digest[:12]}… {_match}\"\n    _panels[_title] = mo.md(f\"```{_language}\\n{_bytes.decode('utf-8')}```\")\nmo.accordion(_panels)","code_hash":"f9e9e48b54769a1c31d845626b0e6a4d","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"DnEU","name":"_"},{"code":"mo.md(r\"\"\"\n## How we ran it\n\nThis section reports the runs the ScienceHub team makes in CI. It is\nnot a status the site attaches to this notebook.\n\nOpenAI's files pin Lean v4.34.1 and Mathlib at commit `d13f23b`.\nScienceHub's Lean image carries Lean v4.35.0 and Mathlib v4.35.0. In the\nearlier run below, the 15 files built there without any change to their\nsource.\n\nEach run uses Lean's comparator (`lake comparator`, shipped with Lean\nv4.35.0) on two inputs: the challenge file above, and a solution file\nthat imports `Counterexample.lean`. The comparator\n\n1. compares the theorem's statement in the solution with the\n   challenge's, together with every definition that statement mentions,\n   and accepts only an exact match, so the proof cannot have changed what\n   is being proved;\n2. walks everything the proof uses and rejects any axiom outside\n   `propext`, `Quot.sound` and `Classical.choice`, the list OpenAI's\n   `AbhyankarSathaye.json` also gives. A `sorry` is an axiom too, so it\n   would be rejected;\n3. replays the whole proof in Lean's kernel and, in paranoid mode, in\n   five more: Lean's kernel in its paranoid setting, lean4lean,\n   nanoda, con-leche and con-ron. All six must accept. Apart from\n   Lean's own kernel and its paranoid setting, the four are separate\n   implementations; all six read the same export.\n\nOpenAI's configuration turns nanoda off (`\"enable_nanoda\": false`); our\nparanoid mode includes it.\n\"\"\")","code_hash":"d2ff58330a1399644fe4e652bf895fdd","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"ulZA","name":"_"},{"code":"mo.md(load_evidence())","code_hash":"dc4893e6609e25b497a69e197a61ca5d","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":false},"id":"ecfG","name":"_"},{"code":"mo.md(r\"\"\"\n**Reproducing the exports.** The CI repository and the image are private,\nso neither the run nor the image can be opened from outside. The source\nand the toolchain are public:\n\n1. Install Lean v4.35.0 (`elan toolchain install leanprover/lean4:v4.35.0`)\n   and make a Lake project that requires Mathlib v4.35.0 (commit\n   `56a005855ea17e0b0958f73ec801ae140b0a1679`); run `lake exe cache get`.\n   Set `LEAN_PATH` to the output of `lake env printenv LEAN_PATH` with\n   the `build/` directory of steps 3 and 4 added.\n2. Download the files in `lean/` from OpenAI's commit and compare each\n   SHA-256 with `LEAN_FILES` in this notebook's setup cell.\n3. Copy `ComparatorChallenges/AbhyankarSathaye.lean` to\n   `Challenge.lean`, build it with\n   `lean -o build/Challenge.olean Challenge.lean`, and export it with the constants the comparator\n   exports, in this order:\n   `leanexport Challenge -- Quot Quot.mk Quot.lift Quot.ind\n   OAI.AbhyankarSathaye.exists_noncoordinate_polynomial propext\n   Classical.choice Quot.sound Nat.add Nat.sub Nat.mul Nat.pow Nat.gcd\n   Nat.div Nat.mod Nat.beq Nat.ble Nat.land Nat.lor Nat.xor\n   Nat.shiftLeft Nat.shiftRight String.ofList Char.ofNat List\n   eagerReduce Nat String String.mk Char optParam autoParam\n   semiOutParam outParam`.\n4. Build the proof's modules with `-DautoImplicit=false`, in the order\n   the accordions above list them, into `build/`; then build a\n   `Solution.lean` that imports\n   `OAI.AlgebraicGeometry.AbhyankarSathaye.Counterexample` and export\n   it with the same constants.\n5. Compare the SHA-256 of both exports with the table above, once a\n   run is recorded there. `leanexport` and `lake comparator` come with\n   the Lean v4.35.0 toolchain. To judge them yourself, write a configuration\n   with `challenge_module` `Challenge`, `solution_module` `Solution`,\n   the theorem in `theorem_names` and the three axioms in\n   `permitted_axioms`, and run `lake comparator --config` on it with\n   `--challenge-from-export` and `--solution-from-export`, and again\n   with `--paranoid` for the six kernels.\n\nNobody has yet compared these hashes with exports made outside the\nimage. Until someone does, a hash that differs points to a difference in\nthe environment first, not in the proof.\n\n**An earlier run.** Before the proof-check workflow existed, a one-off run on\n27 Oct 2026 (run 40517420641, in ScienceHub's CI repository, which is\nprivate) built the same files in ScienceHub's Lean image with digest\n`sha256:6088835cad94bf6a0b098129d65182f13ae62ffd57bf31676505de221372ef6f`,\nwith Lean v4.35.0 (commit `eb6cafb`) and Mathlib v4.35.0 (commit\n`56a0058`). It fetched each file from OpenAI's commit and compared it\nwith pinned SHA-256 sums, the same ones this notebook's setup cell\nlists, before building. All 15 modules built with no warnings; the\nchallenge's one warning is its `sorry`.\n`#print axioms` listed `propext`, `Classical.choice` and `Quot.sound`.\nThe comparator accepted the proof in default mode in 13.1 s, and in\nparanoid mode all six kernels accepted it in 41.3 s. In that run the\nbuild and the comparator shared one container with no network access,\nand the comparator's own sandbox was switched off, so it printed\n\"WARNING: Sandbox disabled, this run is not trustworthy.\" That run\ntherefore did not separate building the proof from judging it. The\nimage is not public yet.\n\"\"\")","code_hash":"62ab8bcc393c3d29d6c5ee66e6f49d16","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"Pvdt","name":"_"},{"code":"mo.md(r\"\"\"\n## What this does and does not establish\n\nAn accepted run, provided the proof's build could not influence the\njudge, says that the Lean statement shown above, read with Mathlib\nv4.35.0's definitions, is proved in Lean's logic using no axiom beyond\n`propext`, `Quot.sound` and `Classical.choice`, and, in paranoid mode,\nthat six kernels accept the proof. It says nothing about the preprints'\nprose (cited under References): their arguments, their history of the\nproblem and their wider claims are not what Lean read. The second\npreprint, according to OpenAI's notes, concerns a different polynomial\nof degree five and the stable coordinate conjecture; its Lean result is\na separate one, not shown here.\n\nWhether the formal statement is a faithful rendering of the\nAbhyankar–Sathaye question is for you to judge from the statement\nitself. OpenAI's catalogue of its formalizations,\n`lean/formalization.yaml` in openai/math, gives the review status of the\ncollection as `unchecked` and names the method that produced them as\n`agent`. Nobody at ScienceHub has yet had an algebraist read this\nstatement. If you are one, and you find a gap between the Lean and the\nmathematics, please open a discussion on this project.\n\nThe exact-arithmetic cell above checks values at points you choose. It\nconfirms that $P$ is a critical point with $F(P) = -1$; it does not\nshow that the zero fibre is affine space.\n\"\"\")","code_hash":"f7501f742e43d1a7fecf197ed1344506","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"ZBYS","name":"_"},{"code":"mo.md(r\"\"\"\n## References\n\n**Sources.** The Lean files and both preprints are by OpenAI, from\n[github.com/openai/math](https://github.com/openai/math) at commit\n`7ef5c0cc5ca4b0e072b7a050fca09ab24bc6fa3a`, under the Apache License\n2.0. OpenAI's own summary of what the files cover is `lean/docs/049.md`\nin that repository, which also covers two related results.\n\n```bibtex\n@misc{OAI:An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026,\n  author = {{OpenAI}},\n  title = {{An explicit noncoordinate polynomial with affine three-space zero fibre}},\n  howpublished = {OpenAI Math Release preprint\n                  \\href{https://github.com/openai/math/blob/main/preprints/An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026/paper.pdf}{OAI:An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026}},\n  year = {2026}\n}\n\n@misc{OAI:A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026,\n  author = {{OpenAI}},\n  title = {{A stable coordinate that is not a coordinate in four variables}},\n  howpublished = {OpenAI Math Release preprint\n                  \\href{https://github.com/openai/math/blob/main/preprints/A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026/stable-coordinate-four-variables.pdf}{OAI:A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026}},\n  year = {2026}\n}\n```\n\n**Background.** S. S. Abhyankar and T. T. Moh, Embeddings of the line in\nthe plane, *J. Reine Angew. Math.* 276 (1975) 148–166,\ndoi:10.1515/crll.1975.276.148. M. Suzuki, Propriétés topologiques des\npolynômes de deux variables complexes, et automorphismes algébriques de\nl'espace $\\mathbb C^2$, *J. Math. Soc. Japan* 26 (1974) 241–257,\ndoi:10.2969/jmsj/02620241. H. Kraft, Challenging problems on affine\n$n$-space, Séminaire Bourbaki 802, *Astérisque* 237 (1996) 295–317.\nV. Shpilrain and J.-T. Yu, Embeddings of hypersurfaces in affine spaces,\n*J. Algebra* 239 (2001) 161–173, doi:10.1006/jabr.2000.8677, on the\ncritical locus as an obstruction.\n\n**This notebook.** Text and code by the ScienceHub team, Apache 2.0,\nexcept the quoted challenge file and the Lean source, which are\nOpenAI's and are reproduced unchanged.\n\"\"\")","code_hash":"8e1e486f9290a6cbbca13a6a580d9ed0","config":{"column":null,"disabled":false,"expand_output":false,"hide_code":true},"id":"aLJB","name":"_"}],"metadata":{"marimo_version":"0.25.2"},"version":"1"},"session":{"cells":[{"code_hash":"b086fedf837fda46cfbad61f01c0cfb5","console":[],"id":"setup","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"307d21679f384fd6aee29b55ecb183a6","console":[],"id":"Hbol","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"b5b5333e56860818e8e1df16490a84b4","console":[],"id":"MJUe","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"249708658abba11edb862a82994aa89c","console":[],"id":"vblA","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"644ab6254b0df6cc49bb641564ad3db1","console":[],"id":"bkHC","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"cd2e86da7d7440a937d095742bc88f9d","console":[],"id":"lEQa","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"32314d69c4f51dad83ae9e3948c05827","console":[],"id":"PKri","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"71ca114e441df6775e9d0468394580dd","console":[],"id":"Xref","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"600f62403721cf34c553ced1faaddf8a","console":[],"id":"SFPL","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"37d8bb1a49eee56d31fc736a3d1f7de4","console":[],"id":"BYtC","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"2afcf8ade4b4a2e9022b20fb9a9926c1","console":[],"id":"RGSE","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"88146a8e35b2867e53f34937a95424b2","console":[],"id":"Kclp","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"1d0db38904205bec4d6f6f6a1f6cec3e","console":[],"id":"emfo","outputs":[{"data":{"text/plain":""},"type":"data"}]},{"code_hash":"89d8c6d1459c489f4af3828f01f62edd","console":[],"id":"Hstk","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h1 id=\"a-polynomial-that-cuts-out-affine-space-but-is-not-a-coordinate\">A polynomial that cuts out affine space but is not a coordinate</h1>\n<span class=\"paragraph\">Take a polynomial <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> in <marimo-tex class=\"arithmatex\">||(n||)</marimo-tex> complex variables whose zero set is a copy of\naffine <marimo-tex class=\"arithmatex\">||((n-1)||)</marimo-tex>-space, in the strong algebraic sense that\n<marimo-tex class=\"arithmatex\">||(\\mathbb C[x_1,\\dots,x_n]/(F)||)</marimo-tex> is a polynomial ring in <marimo-tex class=\"arithmatex\">||(n-1||)</marimo-tex> variables.\nIs there always a polynomial change of coordinates of <marimo-tex class=\"arithmatex\">||(\\mathbb C^n||)</marimo-tex> that\nturns <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> into <marimo-tex class=\"arithmatex\">||(x_1||)</marimo-tex>? The Abhyankar–Sathaye conjecture says yes.</span>\n<span class=\"paragraph\">A preprint by OpenAI dated 24 Sep 2026 claims a counterexample in four\nvariables, and with it one in every dimension <marimo-tex class=\"arithmatex\">||(n \\ge 4||)</marimo-tex>. OpenAI's\nrepository <code>openai/math</code> publishes a Lean statement of this claim and a\nproof of that statement. A second preprint, dated 5 Oct 2026, gives,\naccording to OpenAI's summary in its <code>CONTENTS.md</code>, a different\nfour-variable counterexample of degree five: a stable coordinate that\nis not a coordinate.</span>\n<span class=\"paragraph\">This notebook shows the Lean statement, explains the construction\nbehind it, lets you evaluate the polynomial at its critical point, and\nreproduces the Lean source in full. It also says what running Lean on\nthese files does and does not tell you.</span></span>"},"type":"data"}]},{"code_hash":"74ca292afcafdb3c65abf7ca7347da89","console":[],"id":"nWHF","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"the-question\">The question</h2>\n<span class=\"paragraph\"><strong>Coordinates.</strong> Write <marimo-tex class=\"arithmatex\">||(R_n = \\mathbb C[x_1,\\dots,x_n]||)</marimo-tex>. A polynomial\n<marimo-tex class=\"arithmatex\">||(f \\in R_n||)</marimo-tex> is a <em>coordinate</em> if there are <marimo-tex class=\"arithmatex\">||(f_2,\\dots,f_n||)</marimo-tex> with\n<marimo-tex class=\"arithmatex\">||(\\mathbb C[f, f_2, \\dots, f_n] = R_n||)</marimo-tex>. Equivalently, some automorphism\nof <marimo-tex class=\"arithmatex\">||(R_n||)</marimo-tex> as a <marimo-tex class=\"arithmatex\">||(\\mathbb C||)</marimo-tex>-algebra sends a variable <marimo-tex class=\"arithmatex\">||(x_i||)</marimo-tex> to <marimo-tex class=\"arithmatex\">||(f||)</marimo-tex>; or,\ngeometrically, some polynomial automorphism of <marimo-tex class=\"arithmatex\">||(\\mathbb C^n||)</marimo-tex>, with a\npolynomial inverse, has <marimo-tex class=\"arithmatex\">||(f||)</marimo-tex> as its first component. The polynomial\n<marimo-tex class=\"arithmatex\">||(x_1 + x_2^7||)</marimo-tex> is a coordinate; so is <marimo-tex class=\"arithmatex\">||(x_1 + g(x_2,\\dots,x_n)||)</marimo-tex> for any <marimo-tex class=\"arithmatex\">||(g||)</marimo-tex>.</span>\n<span class=\"paragraph\">If <marimo-tex class=\"arithmatex\">||(f||)</marimo-tex> is a coordinate, the automorphism carries the hypersurface\n<marimo-tex class=\"arithmatex\">||(f = 0||)</marimo-tex> onto the hyperplane <marimo-tex class=\"arithmatex\">||(x_1 = 0||)</marimo-tex>, so\n<marimo-tex class=\"arithmatex\">||(R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]||)</marimo-tex>. The same holds for every\nfibre <marimo-tex class=\"arithmatex\">||(f = c||)</marimo-tex>.</span>\n<span class=\"paragraph\"><strong>The conjecture.</strong> The Abhyankar–Sathaye conjecture asks for the\nconverse: if <marimo-tex class=\"arithmatex\">||(R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]||)</marimo-tex> as\n<marimo-tex class=\"arithmatex\">||(\\mathbb C||)</marimo-tex>-algebras, is <marimo-tex class=\"arithmatex\">||(f||)</marimo-tex> a coordinate? Geometrically: can every\nclosed embedding of <marimo-tex class=\"arithmatex\">||(\\mathbb C^{n-1}||)</marimo-tex> as a hypersurface in\n<marimo-tex class=\"arithmatex\">||(\\mathbb C^n||)</marimo-tex> be straightened by an automorphism of <marimo-tex class=\"arithmatex\">||(\\mathbb C^n||)</marimo-tex>? For\n<marimo-tex class=\"arithmatex\">||(n = 2||)</marimo-tex> the answer is yes; this is the theorem of Abhyankar and Moh and\nof Suzuki on embeddings of the line in the plane.</span>\n<span class=\"paragraph\"><strong>What is claimed.</strong> The preprint claims, and OpenAI's Lean statement\nbelow is written to state, that for every <marimo-tex class=\"arithmatex\">||(n \\ge 4||)</marimo-tex> there is an\n<marimo-tex class=\"arithmatex\">||(F \\in R_n||)</marimo-tex> with <marimo-tex class=\"arithmatex\">||(R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]||)</marimo-tex> that is\nnot a coordinate. The example is explicit: a polynomial in four\nvariables, and the same polynomial in more variables for larger <marimo-tex class=\"arithmatex\">||(n||)</marimo-tex>.</span>\n<span class=\"paragraph\"><strong>What is not covered.</strong> The case <marimo-tex class=\"arithmatex\">||(n = 3||)</marimo-tex>. The first preprint says\n\"The three-variable case is not addressed.\"</span></span>"},"type":"data"}]},{"code_hash":"35e98303da2a24748845c90fd4890760","console":[],"id":"iLit","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"the-formal-statement\">The formal statement</h2>\n<span class=\"paragraph\">For this result OpenAI publishes a <em>challenge file</em>: the statement\nalone, with <code>sorry</code> in place of the proof. It imports only Mathlib.\nThis is <code>ComparatorChallenges/AbhyankarSathaye.lean</code> as published:</span>\n<div class=\"language-lean codehilite\"><pre><span></span><code><span class=\"kn\">import</span><span class=\"w\"> </span><span class=\"n\">Mathlib.Algebra.MvPolynomial.CommRing</span>\n<span class=\"kn\">import</span><span class=\"w\"> </span><span class=\"n\">Mathlib.Basic.Complex.Basic</span>\n<span class=\"kn\">import</span><span class=\"w\"> </span><span class=\"n\">Mathlib.RingTheory.Ideal.Quotient.Operations</span>\n\n<span class=\"kn\">namespace</span><span class=\"w\"> </span><span class=\"n\">OAI</span>\n\n<span class=\"kn\">namespace</span><span class=\"w\"> </span><span class=\"n\">AbhyankarSathaye</span>\n\n<span class=\"sd\">/-- In every dimension at least four, a polynomial can define affine space</span>\n<span class=\"sd\">without being a coordinate of the ambient polynomial ring. -/</span>\n<span class=\"kd\">theorem</span><span class=\"w\"> </span><span class=\"n\">exists_noncoordinate_polynomial</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">n</span><span class=\"w\"> </span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"n\">ℕ</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">hn</span><span class=\"w\"> </span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"mi\">4</span><span class=\"w\"> </span><span class=\"bp\">≤</span><span class=\"w\"> </span><span class=\"n\">n</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"o\">:</span>\n<span class=\"w\">    </span><span class=\"bp\">∃</span><span class=\"w\"> </span><span class=\"n\">F</span><span class=\"w\"> </span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"n\">MvPolynomial</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">Fin</span><span class=\"w\"> </span><span class=\"n\">n</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"n\">ℂ</span><span class=\"o\">,</span>\n<span class=\"w\">      </span><span class=\"n\">Nonempty</span><span class=\"w\"> </span><span class=\"o\">((</span><span class=\"n\">MvPolynomial</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">Fin</span><span class=\"w\"> </span><span class=\"n\">n</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"n\">ℂ</span><span class=\"w\"> </span><span class=\"bp\">⧸</span><span class=\"w\"> </span><span class=\"n\">Ideal.span</span><span class=\"w\"> </span><span class=\"o\">{</span><span class=\"n\">F</span><span class=\"o\">})</span><span class=\"w\"> </span><span class=\"bp\">≃ₐ</span><span class=\"o\">[</span><span class=\"n\">ℂ</span><span class=\"o\">]</span>\n<span class=\"w\">        </span><span class=\"n\">MvPolynomial</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">Fin</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">n</span><span class=\"w\"> </span><span class=\"bp\">-</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"o\">))</span><span class=\"w\"> </span><span class=\"n\">ℂ</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"bp\">∧</span>\n<span class=\"w\">      </span><span class=\"bp\">¬</span><span class=\"w\"> </span><span class=\"bp\">∃</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">equiv</span><span class=\"w\"> </span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"n\">MvPolynomial</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">Fin</span><span class=\"w\"> </span><span class=\"n\">n</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"n\">ℂ</span><span class=\"w\"> </span><span class=\"bp\">≃ₐ</span><span class=\"o\">[</span><span class=\"n\">ℂ</span><span class=\"o\">]</span><span class=\"w\"> </span><span class=\"n\">MvPolynomial</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">Fin</span><span class=\"w\"> </span><span class=\"n\">n</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"n\">ℂ</span><span class=\"o\">)</span>\n<span class=\"w\">        </span><span class=\"o\">(</span><span class=\"n\">index</span><span class=\"w\"> </span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"n\">Fin</span><span class=\"w\"> </span><span class=\"n\">n</span><span class=\"o\">),</span><span class=\"w\"> </span><span class=\"n\">equiv</span><span class=\"w\"> </span><span class=\"o\">(</span><span class=\"n\">MvPolynomial.X</span><span class=\"w\"> </span><span class=\"n\">index</span><span class=\"o\">)</span><span class=\"w\"> </span><span class=\"bp\">=</span><span class=\"w\"> </span><span class=\"n\">F</span><span class=\"w\"> </span><span class=\"o\">:=</span><span class=\"w\"> </span><span class=\"kd\">by</span>\n<span class=\"w\">  </span><span class=\"gr\">sorry</span>\n\n<span class=\"kd\">end</span><span class=\"w\"> </span><span class=\"n\">AbhyankarSathaye</span>\n\n<span class=\"kd\">end</span><span class=\"w\"> </span><span class=\"n\">OAI</span>\n</code></pre></div>\n<span class=\"paragraph\">Read it a line at a time.</span>\n<ul>\n<li><code>(n : ℕ) (hn : 4 ≤ n)</code>: for every natural number <marimo-tex class=\"arithmatex\">||(n||)</marimo-tex> with <marimo-tex class=\"arithmatex\">||(n \\ge 4||)</marimo-tex>.</li>\n<li><code>MvPolynomial (Fin n) ℂ</code> is <marimo-tex class=\"arithmatex\">||(R_n||)</marimo-tex>: polynomials with complex\n  coefficients in variables <code>X 0</code>, …, <code>X (n-1)</code>.</li>\n<li><code>∃ F : MvPolynomial (Fin n) ℂ, … ∧ …</code>: there is a polynomial <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex>\n  with the two properties that follow. The statement only asserts that\n  such an <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> exists; the proof supplies one.</li>\n<li><code>MvPolynomial (Fin n) ℂ ⧸ Ideal.span {F}</code> is the quotient ring\n  <marimo-tex class=\"arithmatex\">||(R_n/(F)||)</marimo-tex>.</li>\n<li><code>A ≃ₐ[ℂ] B</code> is the type of isomorphisms of <marimo-tex class=\"arithmatex\">||(\\mathbb C||)</marimo-tex>-algebras from\n  <marimo-tex class=\"arithmatex\">||(A||)</marimo-tex> to <marimo-tex class=\"arithmatex\">||(B||)</marimo-tex>, and <code>Nonempty (…)</code> says there is at least one. So the first\n  property is <marimo-tex class=\"arithmatex\">||(R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]||)</marimo-tex>. The <code>n - 1</code>\n  is subtraction of natural numbers, which is the usual one because\n  <marimo-tex class=\"arithmatex\">||(n \\ge 4||)</marimo-tex>.</li>\n<li><code>¬ ∃ (equiv : …) (index : Fin n), equiv (MvPolynomial.X index) = F</code>:\n  there is no <marimo-tex class=\"arithmatex\">||(\\mathbb C||)</marimo-tex>-algebra automorphism of <marimo-tex class=\"arithmatex\">||(R_n||)</marimo-tex> that sends some\n  variable to <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex>. That is, <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> is not a coordinate, in the sense\n  defined above.</li>\n</ul>\n<span class=\"paragraph\">The statement uses Mathlib's definitions only. Whether it says what the\nconjecture says is a question about these few lines, not about the 1,445\nlines of Lean below them.</span></span>"},"type":"data"}]},{"code_hash":"c75d0d0f69cfff3d04cf44f941bca707","console":[],"id":"ZHCJ","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"the-construction\">The construction</h2>\n<span class=\"paragraph\">Work in <marimo-tex class=\"arithmatex\">||(R = \\mathbb C[h,u,v,w]||)</marimo-tex>, in the variable order the Lean files use.\nStart from the cusp <marimo-tex class=\"arithmatex\">||((u^3, -u^2)||)</marimo-tex>, on which <marimo-tex class=\"arithmatex\">||(X^2 + Y^3 = 0||)</marimo-tex>, and perturb\nboth entries by multiples of <marimo-tex class=\"arithmatex\">||(h||)</marimo-tex>:</span>\n<marimo-tex class=\"arithmatex\">||[x = u^3 + hv, \\qquad y = -u^2 + hw.||]</marimo-tex><span class=\"paragraph\">Then <marimo-tex class=\"arithmatex\">||(x^2 + y^3||)</marimo-tex> vanishes modulo <marimo-tex class=\"arithmatex\">||(h||)</marimo-tex>, and the quotient is the polynomial</span>\n<marimo-tex class=\"arithmatex\">||[s = 2u^3v + 3u^4w + h\\,(v^2 - 3u^2w^2) + h^2w^3, \\qquad x^2 + y^3 = hs.||]</marimo-tex><span class=\"paragraph\">With <marimo-tex class=\"arithmatex\">||(p = -2s^2x + 3sy^2 - 3s^3y||)</marimo-tex>, the counterexample is</span>\n<marimo-tex class=\"arithmatex\">||[F = h - p - 1.||]</marimo-tex><span class=\"paragraph\">Expanded, <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> has degree 17 in <marimo-tex class=\"arithmatex\">||(h, u, v, w||)</marimo-tex> (our computation, not a claim\nof the sources). Lean proves the identity above and\n<marimo-tex class=\"arithmatex\">||((x + s^3)^2 + (y - s^2)^3 = x^2 + y^3 - sp||)</marimo-tex> with <code>ring</code>\n(<code>cusp_universal</code> and <code>shift_universal</code> in <code>Identities.lean</code>), and from\nthem, in <code>ambient</code>,</span>\n<marimo-tex class=\"arithmatex\">||[(x + s^3)^2 + (y - s^2)^3 = s\\,(1 + F).||]</marimo-tex><span class=\"paragraph\"><strong>The zero fibre is affine 3-space.</strong> On <marimo-tex class=\"arithmatex\">||(F = 0||)</marimo-tex> we have <marimo-tex class=\"arithmatex\">||(h = 1 + p||)</marimo-tex>.\nThe proof builds the isomorphism <marimo-tex class=\"arithmatex\">||(R/(F) \\cong \\mathbb C[X,Y,T]||)</marimo-tex> in\nstages. <code>Presentation.lean</code> rewrites <marimo-tex class=\"arithmatex\">||(R/(F)||)</marimo-tex> with the auxiliary letters\n<marimo-tex class=\"arithmatex\">||(x||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(y||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(s||)</marimo-tex> alongside <marimo-tex class=\"arithmatex\">||(u||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(v||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(w||)</marimo-tex>. The algebra cut out by\n<marimo-tex class=\"arithmatex\">||(h = 1 + p(x,y,s)||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(x^2 + y^3 = hs||)</marimo-tex> in the four letters <marimo-tex class=\"arithmatex\">||(h||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(x||)</marimo-tex>,\n<marimo-tex class=\"arithmatex\">||(y||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(s||)</marimo-tex> is a polynomial ring in <marimo-tex class=\"arithmatex\">||(x + s^3||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(y - s^2||)</marimo-tex> (<code>Plane.lean</code>).\nOver that ring, the equations <marimo-tex class=\"arithmatex\">||(u^3 + hv = x||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(-u^2 + hw = y||)</marimo-tex> and\n<marimo-tex class=\"arithmatex\">||(S(h,u,v,w) = s||)</marimo-tex> define a polynomial ring in one more variable\n(<code>Lifting.lean</code>), because <marimo-tex class=\"arithmatex\">||(x^2 + y^3 = hs||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(\\alpha h + \\beta y = 1||)</marimo-tex>\nhold in that ring for explicit polynomials <marimo-tex class=\"arithmatex\">||(\\alpha||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(\\beta||)</marimo-tex>\n(<code>bezout_certificate</code> in <code>Identities.lean</code>, applied as <code>bezout</code> in\n<code>Plane.lean</code>). <code>FiberFormulas.lean</code> records the result: the inverse\nisomorphism sends <marimo-tex class=\"arithmatex\">||(X||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(Y||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(T||)</marimo-tex> to <marimo-tex class=\"arithmatex\">||(x + s^3||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(y - s^2||)</marimo-tex> and\n<marimo-tex class=\"arithmatex\">||(\\alpha u + \\beta (v + uw)||)</marimo-tex>.</span>\n<span class=\"paragraph\"><strong><marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> is not a coordinate.</strong> At the point\n<marimo-tex class=\"arithmatex\">||(P = (h,u,v,w) = (2, 0, -\\tfrac12, \\tfrac12)||)</marimo-tex>,</span>\n<marimo-tex class=\"arithmatex\">||[x = -1, \\quad y = 1, \\quad s = 1, \\quad p = 2, \\quad F = -1,||]</marimo-tex><span class=\"paragraph\">so <marimo-tex class=\"arithmatex\">||(x + s^3 = 0||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(y - s^2 = 0||)</marimo-tex>. Differentiate the ambient identity\nin any variable:</span>\n<marimo-tex class=\"arithmatex\">||[2(x+s^3)\\,d(x+s^3) + 3(y-s^2)^2\\,d(y-s^2) = (1+F)\\,ds + s\\,dF.||]</marimo-tex><span class=\"paragraph\">At <marimo-tex class=\"arithmatex\">||(P||)</marimo-tex> the left side is zero, <marimo-tex class=\"arithmatex\">||(1 + F = 0||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(s = 1||)</marimo-tex>, so <marimo-tex class=\"arithmatex\">||(dF(P) = 0||)</marimo-tex>:\nevery partial derivative of <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> vanishes at <marimo-tex class=\"arithmatex\">||(P||)</marimo-tex>\n(<code>critical_derivatives</code> in <code>CriticalPoint.lean</code>).</span>\n<span class=\"paragraph\">A coordinate has no such point. If an automorphism <marimo-tex class=\"arithmatex\">||(\\varphi||)</marimo-tex> of\n<marimo-tex class=\"arithmatex\">||(\\mathbb C^n||)</marimo-tex> has <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> as its first component, the chain rule applied to\n<marimo-tex class=\"arithmatex\">||(\\varphi^{-1} \\circ \\varphi = \\mathrm{id}||)</marimo-tex> shows that the Jacobian\nmatrix of <marimo-tex class=\"arithmatex\">||(\\varphi||)</marimo-tex> is invertible at every point, so its first row,\n<marimo-tex class=\"arithmatex\">||(\\nabla F||)</marimo-tex>, is never zero. <code>NonCoordinate.lean</code> proves the algebraic form\nof this for any nontrivial commutative ring of coefficients\n(<code>polynomial_chain_rule</code>, <code>no_coordinate_of_critical</code>).</span>\n<span class=\"paragraph\">The critical point lies on the fibre <marimo-tex class=\"arithmatex\">||(F = -1||)</marimo-tex>, not on <marimo-tex class=\"arithmatex\">||(F = 0||)</marimo-tex>. The zero\nfibre is smooth, as affine space is; the obstruction is in how <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex>\nbehaves on the rest of <marimo-tex class=\"arithmatex\">||(\\mathbb C^4||)</marimo-tex>.</span>\n<span class=\"paragraph\"><strong>More variables.</strong> For every <marimo-tex class=\"arithmatex\">||(n \\ge 4||)</marimo-tex>, <code>Stabilization.lean</code> takes\nthe same <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> in <marimo-tex class=\"arithmatex\">||(\\mathbb C[h,u,v,w,z_1,\\dots,z_{n-4}]||)</marimo-tex>, renaming its\nvariables into the first four of <marimo-tex class=\"arithmatex\">||(n||)</marimo-tex> (for <marimo-tex class=\"arithmatex\">||(n = 4||)</marimo-tex> this is <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> itself).\nThe quotient gains the <marimo-tex class=\"arithmatex\">||(z_i||)</marimo-tex> as free variables, and <marimo-tex class=\"arithmatex\">||((P, 0, \\dots, 0)||)</marimo-tex>\nis still a critical point, since <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> does not depend on the <marimo-tex class=\"arithmatex\">||(z_i||)</marimo-tex>.</span></span>"},"type":"data"}]},{"code_hash":"dc72665d57039ee97ee98837150a5fd4","console":[],"id":"ROlb","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"evaluate-f-yourself\">Evaluate <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> yourself</h2>\n<span class=\"paragraph\">Move the point. The cell below computes <marimo-tex class=\"arithmatex\">||(x||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(y||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(s||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(p||)</marimo-tex>, <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> and the\nfour partial derivatives of <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex> in exact rational arithmetic, with\nPython's <code>fractions</code> and dual numbers for the derivatives, so no\nrounding is involved. It starts at the critical point <marimo-tex class=\"arithmatex\">||(P||)</marimo-tex>. Try\n<marimo-tex class=\"arithmatex\">||((1, 0, 0, 0)||)</marimo-tex>, which lies on the zero fibre, to see a point where the\ngradient is not zero.</span>\n<span class=\"paragraph\">This is our own spot check of facts the proof uses. It is not part of\nthe proof and does not replace it.</span></span>"},"type":"data"}]},{"code_hash":"c12723de773aa9f450c58cfec4481867","console":[],"id":"qnkX","outputs":[{"data":{"text/html":"<div style='display: flex;flex: 1;flex-direction: column;justify-content: flex-start;align-items: normal;flex-wrap: nowrap;gap: 0.5rem'><marimo-ui-element object-id='qnkX-0' random-id='2a584f52-9742-69cb-fd8d-1f88e68c63ad'><marimo-slider data-initial-value='2' data-label='&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eh&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;' data-start='-3' data-stop='3' data-step='0.25' data-steps='[]' data-debounce='false' data-disabled='false' data-orientation='&quot;horizontal&quot;' data-show-value='true' data-include-input='false' data-full-width='false'></marimo-slider></marimo-ui-element><marimo-ui-element object-id='qnkX-1' random-id='d4e5978c-2929-2f34-ba0e-e5c36b185cab'><marimo-slider data-initial-value='0' data-label='&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eu&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;' data-start='-2' data-stop='2' data-step='0.25' data-steps='[]' data-debounce='false' data-disabled='false' data-orientation='&quot;horizontal&quot;' data-show-value='true' data-include-input='false' data-full-width='false'></marimo-slider></marimo-ui-element><marimo-ui-element object-id='qnkX-2' random-id='e76bdfcd-226b-6833-47f5-e7d35af8c834'><marimo-slider data-initial-value='-0.5' data-label='&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003ev&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;' data-start='-2' data-stop='2' data-step='0.25' data-steps='[]' data-debounce='false' data-disabled='false' data-orientation='&quot;horizontal&quot;' data-show-value='true' data-include-input='false' data-full-width='false'></marimo-slider></marimo-ui-element><marimo-ui-element object-id='qnkX-3' random-id='df4f85e3-59f0-66fe-baeb-371de13d7d24'><marimo-slider data-initial-value='0.5' data-label='&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003ew&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;' data-start='-2' data-stop='2' data-step='0.25' data-steps='[]' data-debounce='false' data-disabled='false' data-orientation='&quot;horizontal&quot;' data-show-value='true' data-include-input='false' data-full-width='false'></marimo-slider></marimo-ui-element></div>"},"type":"data"}]},{"code_hash":"fcd2e71284152009532493b4da28862a","console":[],"id":"TqIu","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\">At <marimo-tex class=\"arithmatex\">||((h,u,v,w) = (2, 0, -1/2, 1/2)||)</marimo-tex>:</span>\n<table>\n<thead>\n<tr>\n<th>Quantity</th>\n<th>Exact value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(x||)</marimo-tex></td>\n<td>-1</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(y||)</marimo-tex></td>\n<td>1</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(s||)</marimo-tex></td>\n<td>1</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(p||)</marimo-tex></td>\n<td>2</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(F||)</marimo-tex></td>\n<td>-1</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(\\partial F/\\partial h||)</marimo-tex></td>\n<td>0</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(\\partial F/\\partial u||)</marimo-tex></td>\n<td>0</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(\\partial F/\\partial v||)</marimo-tex></td>\n<td>0</td>\n</tr>\n<tr>\n<td><marimo-tex class=\"arithmatex\">||(\\partial F/\\partial w||)</marimo-tex></td>\n<td>0</td>\n</tr>\n</tbody>\n</table>\n<span class=\"paragraph\">Every partial derivative is zero: this is a critical point of <marimo-tex class=\"arithmatex\">||(F||)</marimo-tex>.</span>\n<span class=\"paragraph\">The ambient identity at this point: <marimo-tex class=\"arithmatex\">||((x+s^3)^2 + (y-s^2)^3 = 0||)</marimo-tex> and <marimo-tex class=\"arithmatex\">||(s(1+F) = 0||)</marimo-tex>.</span></span>"},"type":"data"}]},{"code_hash":"9699dbb8d01016de5c075b34cde00695","console":[],"id":"Vxnm","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"the-lean-source\">The Lean source</h2>\n<span class=\"paragraph\">Below are all 15 files of the proof and the challenge with its\ncomparator configuration, shown as published in\n<a href=\"https://github.com/openai/math/tree/7ef5c0cc5ca4b0e072b7a050fca09ab24bc6fa3a/lean\" rel=\"noopener noreferrer\" target=\"_blank\">openai/math</a>\nat commit <code>7ef5c0c</code>. They are OpenAI's work, licensed under\nthe Apache License 2.0. This project keeps them unchanged in its <code>lean/</code>\nfolder, with the licence text in <code>lean/LICENSE</code> and a statement of\nchanges (none) in <code>lean/NOTICE</code>. The challenge and its configuration\ncome first, then the proof files in the order they build;\n<code>Counterexample.lean</code> holds the main theorem.</span>\n<span class=\"paragraph\">Each heading shows the file's SHA-256 as computed here and whether it\nmatches the hash the earlier run pinned before compiling.</span></span>"},"type":"data"}]},{"code_hash":"f9e9e48b54769a1c31d845626b0e6a4d","console":[],"id":"DnEU","outputs":[{"data":{"text/html":"<marimo-accordion data-labels='[&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eComparatorChallenges/AbhyankarSathaye.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eComparatorChallenges/AbhyankarSathaye.json&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Identities.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/CriticalPoint.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/NonCoordinate.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/LiftingIdentities.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Quotient.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Reconstruction.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/LinearElimination.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Lifting.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Plane.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Presentation.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Fiber.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/FiberFormulas.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Stabilization.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/LinearPresentation.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;,&quot;&#92;u003cspan class=&#92;&quot;markdown prose dark:prose-invert contents&#92;&quot;&#92;u003e&#92;u003cspan class=&#92;&quot;paragraph&#92;&quot;&#92;u003eOAI/AlgebraicGeometry/AbhyankarSathaye/Counterexample.lean&#92;u003c/span&#92;u003e&#92;u003c/span&#92;u003e&quot;]' data-multiple='false' data-expanded='[]'><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/ComparatorChallenges/AbhyankarSathaye.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/ComparatorChallenges/AbhyankarSathaye.json</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Identities.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/CriticalPoint.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/NonCoordinate.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LiftingIdentities.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Quotient.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Reconstruction.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LinearElimination.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Lifting.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Plane.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Presentation.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Fiber.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/FiberFormulas.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Stabilization.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LinearPresentation.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div><div><span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><code>lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Counterexample.lean</code> is missing. It ships with this project; download the project to read it.</span></span></div></marimo-accordion>"},"type":"data"}]},{"code_hash":"d2ff58330a1399644fe4e652bf895fdd","console":[],"id":"ulZA","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"how-we-ran-it\">How we ran it</h2>\n<span class=\"paragraph\">This section reports the runs the ScienceHub team makes in CI. It is\nnot a status the site attaches to this notebook.</span>\n<span class=\"paragraph\">OpenAI's files pin Lean v4.34.1 and Mathlib at commit <code>d13f23b</code>.\nScienceHub's Lean image carries Lean v4.35.0 and Mathlib v4.35.0. In the\nearlier run below, the 15 files built there without any change to their\nsource.</span>\n<span class=\"paragraph\">Each run uses Lean's comparator (<code>lake comparator</code>, shipped with Lean\nv4.35.0) on two inputs: the challenge file above, and a solution file\nthat imports <code>Counterexample.lean</code>. The comparator</span>\n<ol>\n<li>compares the theorem's statement in the solution with the\n   challenge's, together with every definition that statement mentions,\n   and accepts only an exact match, so the proof cannot have changed what\n   is being proved;</li>\n<li>walks everything the proof uses and rejects any axiom outside\n   <code>propext</code>, <code>Quot.sound</code> and <code>Classical.choice</code>, the list OpenAI's\n   <code>AbhyankarSathaye.json</code> also gives. A <code>sorry</code> is an axiom too, so it\n   would be rejected;</li>\n<li>replays the whole proof in Lean's kernel and, in paranoid mode, in\n   five more: Lean's kernel in its paranoid setting, lean4lean,\n   nanoda, con-leche and con-ron. All six must accept. Apart from\n   Lean's own kernel and its paranoid setting, the four are separate\n   implementations; all six read the same export.</li>\n</ol>\n<span class=\"paragraph\">OpenAI's configuration turns nanoda off (<code>\"enable_nanoda\": false</code>); our\nparanoid mode includes it.</span></span>"},"type":"data"}]},{"code_hash":"dc4893e6609e25b497a69e197a61ca5d","console":[],"id":"ecfG","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\">This project has no record of a run from main yet. The record will be <code>evidence/openai-049.json</code> in this project, and this cell will show it.</span></span>"},"type":"data"}]},{"code_hash":"62ab8bcc393c3d29d6c5ee66e6f49d16","console":[],"id":"Pvdt","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><span class=\"paragraph\"><strong>Reproducing the exports.</strong> The CI repository and the image are private,\nso neither the run nor the image can be opened from outside. The source\nand the toolchain are public:</span>\n<ol>\n<li>Install Lean v4.35.0 (<code>elan toolchain install leanprover/lean4:v4.35.0</code>)\n   and make a Lake project that requires Mathlib v4.35.0 (commit\n   <code>56a005855ea17e0b0958f73ec801ae140b0a1679</code>); run <code>lake exe cache get</code>.\n   Set <code>LEAN_PATH</code> to the output of <code>lake env printenv LEAN_PATH</code> with\n   the <code>build/</code> directory of steps 3 and 4 added.</li>\n<li>Download the files in <code>lean/</code> from OpenAI's commit and compare each\n   SHA-256 with <code>LEAN_FILES</code> in this notebook's setup cell.</li>\n<li>Copy <code>ComparatorChallenges/AbhyankarSathaye.lean</code> to\n   <code>Challenge.lean</code>, build it with\n   <code>lean -o build/Challenge.olean Challenge.lean</code>, and export it with the constants the comparator\n   exports, in this order:\n   <code>leanexport Challenge -- Quot Quot.mk Quot.lift Quot.ind\n   OAI.AbhyankarSathaye.exists_noncoordinate_polynomial propext\n   Classical.choice Quot.sound Nat.add Nat.sub Nat.mul Nat.pow Nat.gcd\n   Nat.div Nat.mod Nat.beq Nat.ble Nat.land Nat.lor Nat.xor\n   Nat.shiftLeft Nat.shiftRight String.ofList Char.ofNat List\n   eagerReduce Nat String String.mk Char optParam autoParam\n   semiOutParam outParam</code>.</li>\n<li>Build the proof's modules with <code>-DautoImplicit=false</code>, in the order\n   the accordions above list them, into <code>build/</code>; then build a\n   <code>Solution.lean</code> that imports\n   <code>OAI.AlgebraicGeometry.AbhyankarSathaye.Counterexample</code> and export\n   it with the same constants.</li>\n<li>Compare the SHA-256 of both exports with the table above, once a\n   run is recorded there. <code>leanexport</code> and <code>lake comparator</code> come with\n   the Lean v4.35.0 toolchain. To judge them yourself, write a configuration\n   with <code>challenge_module</code> <code>Challenge</code>, <code>solution_module</code> <code>Solution</code>,\n   the theorem in <code>theorem_names</code> and the three axioms in\n   <code>permitted_axioms</code>, and run <code>lake comparator --config</code> on it with\n   <code>--challenge-from-export</code> and <code>--solution-from-export</code>, and again\n   with <code>--paranoid</code> for the six kernels.</li>\n</ol>\n<span class=\"paragraph\">Nobody has yet compared these hashes with exports made outside the\nimage. Until someone does, a hash that differs points to a difference in\nthe environment first, not in the proof.</span>\n<span class=\"paragraph\"><strong>An earlier run.</strong> Before the proof-check workflow existed, a one-off run on\n27 Oct 2026 (run 40517420641, in ScienceHub's CI repository, which is\nprivate) built the same files in ScienceHub's Lean image with digest\n<code>sha256:6088835cad94bf6a0b098129d65182f13ae62ffd57bf31676505de221372ef6f</code>,\nwith Lean v4.35.0 (commit <code>eb6cafb</code>) and Mathlib v4.35.0 (commit\n<code>56a0058</code>). It fetched each file from OpenAI's commit and compared it\nwith pinned SHA-256 sums, the same ones this notebook's setup cell\nlists, before building. All 15 modules built with no warnings; the\nchallenge's one warning is its <code>sorry</code>.\n<code>#print axioms</code> listed <code>propext</code>, <code>Classical.choice</code> and <code>Quot.sound</code>.\nThe comparator accepted the proof in default mode in 13.1 s, and in\nparanoid mode all six kernels accepted it in 41.3 s. In that run the\nbuild and the comparator shared one container with no network access,\nand the comparator's own sandbox was switched off, so it printed\n\"WARNING: Sandbox disabled, this run is not trustworthy.\" That run\ntherefore did not separate building the proof from judging it. The\nimage is not public yet.</span></span>"},"type":"data"}]},{"code_hash":"f7501f742e43d1a7fecf197ed1344506","console":[],"id":"ZBYS","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"what-this-does-and-does-not-establish\">What this does and does not establish</h2>\n<span class=\"paragraph\">An accepted run, provided the proof's build could not influence the\njudge, says that the Lean statement shown above, read with Mathlib\nv4.35.0's definitions, is proved in Lean's logic using no axiom beyond\n<code>propext</code>, <code>Quot.sound</code> and <code>Classical.choice</code>, and, in paranoid mode,\nthat six kernels accept the proof. It says nothing about the preprints'\nprose (cited under References): their arguments, their history of the\nproblem and their wider claims are not what Lean read. The second\npreprint, according to OpenAI's notes, concerns a different polynomial\nof degree five and the stable coordinate conjecture; its Lean result is\na separate one, not shown here.</span>\n<span class=\"paragraph\">Whether the formal statement is a faithful rendering of the\nAbhyankar–Sathaye question is for you to judge from the statement\nitself. OpenAI's catalogue of its formalizations,\n<code>lean/formalization.yaml</code> in openai/math, gives the review status of the\ncollection as <code>unchecked</code> and names the method that produced them as\n<code>agent</code>. Nobody at ScienceHub has yet had an algebraist read this\nstatement. If you are one, and you find a gap between the Lean and the\nmathematics, please open a discussion on this project.</span>\n<span class=\"paragraph\">The exact-arithmetic cell above checks values at points you choose. It\nconfirms that <marimo-tex class=\"arithmatex\">||(P||)</marimo-tex> is a critical point with <marimo-tex class=\"arithmatex\">||(F(P) = -1||)</marimo-tex>; it does not\nshow that the zero fibre is affine space.</span></span>"},"type":"data"}]},{"code_hash":"8e1e486f9290a6cbbca13a6a580d9ed0","console":[],"id":"aLJB","outputs":[{"data":{"text/markdown":"<span class=\"markdown prose dark:prose-invert contents\"><h2 id=\"references\">References</h2>\n<span class=\"paragraph\"><strong>Sources.</strong> The Lean files and both preprints are by OpenAI, from\n<a href=\"https://github.com/openai/math\" rel=\"noopener noreferrer\" target=\"_blank\">github.com/openai/math</a> at commit\n<code>7ef5c0cc5ca4b0e072b7a050fca09ab24bc6fa3a</code>, under the Apache License\n2.0. OpenAI's own summary of what the files cover is <code>lean/docs/049.md</code>\nin that repository, which also covers two related results.</span>\n<div class=\"language-bibtex codehilite\"><pre><span></span><code><span class=\"nc\">@misc</span><span class=\"p\">{</span><span class=\"nl\">OAI:An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">author</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{{OpenAI}}</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">title</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{{An explicit noncoordinate polynomial with affine three-space zero fibre}}</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">howpublished</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{OpenAI Math Release preprint</span>\n<span class=\"s\">                  \\href{https://github.com/openai/math/blob/main/preprints/An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026/paper.pdf}{OAI:An-explicit-noncoordinate-polynomial-with-affine-three-space-zero-fibre-September-24-2026}}</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">year</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{2026}</span>\n<span class=\"p\">}</span>\n\n<span class=\"nc\">@misc</span><span class=\"p\">{</span><span class=\"nl\">OAI:A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">author</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{{OpenAI}}</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">title</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{{A stable coordinate that is not a coordinate in four variables}}</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">howpublished</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{OpenAI Math Release preprint</span>\n<span class=\"s\">                  \\href{https://github.com/openai/math/blob/main/preprints/A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026/stable-coordinate-four-variables.pdf}{OAI:A-stable-coordinate-that-is-not-a-coordinate-in-four-variables-October-5-2026}}</span><span class=\"p\">,</span>\n<span class=\"w\">  </span><span class=\"na\">year</span><span class=\"w\"> </span><span class=\"p\">=</span><span class=\"w\"> </span><span class=\"s\">{2026}</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<span class=\"paragraph\"><strong>Background.</strong> S. S. Abhyankar and T. T. Moh, Embeddings of the line in\nthe plane, <em>J. Reine Angew. Math.</em> 276 (1975) 148–166,\ndoi:10.1515/crll.1975.276.148. M. Suzuki, Propriétés topologiques des\npolynômes de deux variables complexes, et automorphismes algébriques de\nl'espace <marimo-tex class=\"arithmatex\">||(\\mathbb C^2||)</marimo-tex>, <em>J. Math. Soc. Japan</em> 26 (1974) 241–257,\ndoi:10.2969/jmsj/02620241. H. Kraft, Challenging problems on affine\n<marimo-tex class=\"arithmatex\">||(n||)</marimo-tex>-space, Séminaire Bourbaki 802, <em>Astérisque</em> 237 (1996) 295–317.\nV. Shpilrain and J.-T. Yu, Embeddings of hypersurfaces in affine spaces,\n<em>J. Algebra</em> 239 (2001) 161–173, doi:10.1006/jabr.2000.8677, on the\ncritical locus as an obstruction.</span>\n<span class=\"paragraph\"><strong>This notebook.</strong> Text and code by the ScienceHub team, Apache 2.0,\nexcept the quoted challenge file and the Lean source, which are\nOpenAI's and are reproduced unchanged.</span></span>"},"type":"data"}]}],"metadata":{"marimo_version":"0.25.2","script_metadata_hash":null},"version":"1"},"appConfig":{"app_title":"A polynomial that cuts out affine space but is not a coordinate","sql_output":"auto","width":"medium"},"layout":null,"renderedOn":"browser","formulas":{"||(F||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span></span></span></span>","||(n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">n</span></span></span></span>","||((n-1)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\">1</span><span class=\"mclose\">)</span></span></span></span>","||(\\mathbb C[x_1,\\dots,x_n]/(F)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mclose\">]</span><span class=\"mord\">/</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span></span></span></span>","||(n-1||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6667em;vertical-align:-0.0833em;\"></span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">1</span></span></span></span>","||(\\mathbb C^n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6889em;\"></span><span class=\"mord\"><span class=\"mord mathbb\">C</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.6644em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span></span></span></span></span></span></span></span>","||(x_1||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(n \\ge 4||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7719em;vertical-align:-0.136em;\"></span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">≥</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">4</span></span></span></span>","||(R_n = \\mathbb C[x_1,\\dots,x_n]||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mclose\">]</span></span></span></span>","||(f \\in R_n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">∈</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(f_2,\\dots,f_n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(\\mathbb C[f, f_2, \\dots, f_n] = R_n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mclose\">]</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(R_n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(\\mathbb C||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6889em;\"></span><span class=\"mord mathbb\">C</span></span></span></span>","||(x_i||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3117em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">i</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(f||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span></span></span></span>","||(x_1 + x_2^7||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0622em;vertical-align:-0.2481em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-2.4519em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">7</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2481em;\"><span></span></span></span></span></span></span></span></span></span>","||(x_1 + g(x_2,\\dots,x_n)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">g</span><span class=\"mopen\">(</span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mclose\">)</span></span></span></span>","||(g||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">g</span></span></span></span>","||(f = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(x_1 = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(R_n/(f) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mord\">/</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">≅</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">n</span><span class=\"mbin mtight\">−</span><span class=\"mord mtight\">1</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2083em;\"><span></span></span></span></span></span></span><span class=\"mclose\">]</span></span></span></span>","||(f = c||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1076em;\">f</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">c</span></span></span></span>","||(\\mathbb C^{n-1}||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathbb\">C</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">n</span><span class=\"mbin mtight\">−</span><span class=\"mord mtight\">1</span></span></span></span></span></span></span></span></span></span></span></span>","||(n = 2||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">2</span></span></span></span>","||(F \\in R_n||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7224em;vertical-align:-0.0391em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">∈</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||(R_n/(F) \\cong \\mathbb C[y_1,\\dots,y_{n-1}]||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mord\">/</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">≅</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">n</span><span class=\"mbin mtight\">−</span><span class=\"mord mtight\">1</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2083em;\"><span></span></span></span></span></span></span><span class=\"mclose\">]</span></span></span></span>","||(n = 3||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">3</span></span></span></span>","||(R_n/(F)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.1514em;\"><span style=\"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">n</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mord\">/</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span></span></span></span>","||(A||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\">A</span></span></span></span>","||(B||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0502em;\">B</span></span></span></span>","||(R = \\mathbb C[h,u,v,w]||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord mathnormal\">h</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mclose\">]</span></span></span></span>","||((u^3, -u^2)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0641em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">−</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\">)</span></span></span></span>","||(X^2 + Y^3 = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0785em;\">X</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.2222em;\">Y</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(h||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span></span></span></span>","||[x = u^3 + hv, \\qquad y = -u^2 + hw.||]":"<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.9474em;vertical-align:-0.0833em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:2em;\"></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.9474em;vertical-align:-0.0833em;\"></span><span class=\"mord\">−</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mord\">.</span></span></span></span></span>","||(x^2 + y^3||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0085em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span></span></span></span>","||[s = 2u^3v + 3u^4w + h\\,(v^2 - 3u^2w^2) + h^2w^3, \\qquad x^2 + y^3 = hs.||]":"<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.9474em;vertical-align:-0.0833em;\"></span><span class=\"mord\">2</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.9474em;vertical-align:-0.0833em;\"></span><span class=\"mord\">3</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">4</span></span></span></span></span></span></span></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mopen\">(</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\">3</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0585em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">h</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:2em;\"></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0585em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mord mathnormal\">s</span><span class=\"mord\">.</span></span></span></span></span>","||(p = -2s^2x + 3sy^2 - 3s^3y||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">p</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\">−</span><span class=\"mord\">2</span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0085em;vertical-align:-0.1944em;\"></span><span class=\"mord\">3</span><span class=\"mord mathnormal\">s</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0085em;vertical-align:-0.1944em;\"></span><span class=\"mord\">3</span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span></span></span></span>","||[F = h - p - 1.||]":"<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7778em;vertical-align:-0.0833em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7778em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">p</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">1.</span></span></span></span></span>","||(h, u, v, w||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span></span></span></span>","||((x + s^3)^2 + (y - s^2)^3 = x^2 + y^3 - sp||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0641em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0641em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0085em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mord mathnormal\">p</span></span></span></span>","||[(x + s^3)^2 + (y - s^2)^3 = s\\,(1 + F).||]":"<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mopen\">(</span><span class=\"mord\">1</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span><span class=\"mord\">.</span></span></span></span></span>","||(F = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(h = 1 + p||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">1</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">p</span></span></span></span>","||(R/(F) \\cong \\mathbb C[X,Y,T]||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"mord\">/</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">≅</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord mathnormal\" style=\"margin-right:0.0785em;\">X</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.2222em;\">Y</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">T</span><span class=\"mclose\">]</span></span></span></span>","||(R/(F)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0077em;\">R</span><span class=\"mord\">/</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span></span></span></span>","||(x||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">x</span></span></span></span>","||(y||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span></span></span></span>","||(s||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">s</span></span></span></span>","||(u||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">u</span></span></span></span>","||(v||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span></span></span></span>","||(w||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span></span></span></span>","||(h = 1 + p(x,y,s)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">1</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\">p</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mclose\">)</span></span></span></span>","||(x^2 + y^3 = hs||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">x</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0085em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mord mathnormal\">s</span></span></span></span>","||(x + s^3||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6667em;vertical-align:-0.0833em;\"></span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span></span></span></span>","||(y - s^2||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7778em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span></span></span></span>","||(u^3 + hv = x||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">x</span></span></span></span>","||(-u^2 + hw = y||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8974em;vertical-align:-0.0833em;\"></span><span class=\"mord\">−</span><span class=\"mord\"><span class=\"mord mathnormal\">u</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">h</span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span></span></span></span>","||(S(h,u,v,w) = s||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0576em;\">S</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">h</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">s</span></span></span></span>","||(\\alpha h + \\beta y = 1||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7778em;vertical-align:-0.0833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0037em;\">α</span><span class=\"mord mathnormal\">h</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0528em;\">β</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">1</span></span></span></span>","||(\\alpha||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0037em;\">α</span></span></span></span>","||(\\beta||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0528em;\">β</span></span></span></span>","||(X||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0785em;\">X</span></span></span></span>","||(Y||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.2222em;\">Y</span></span></span></span>","||(T||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">T</span></span></span></span>","||(\\alpha u + \\beta (v + uw)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6667em;vertical-align:-0.0833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0037em;\">α</span><span class=\"mord mathnormal\">u</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0528em;\">β</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mclose\">)</span></span></span></span>","||(P = (h,u,v,w) = (2, 0, -\\tfrac12, \\tfrac12)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">P</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">h</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1901em;vertical-align:-0.345em;\"></span><span class=\"mopen\">(</span><span class=\"mord\">2</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">−</span><span class=\"mord\"><span class=\"mopen nulldelimiter\"></span><span class=\"mfrac\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8451em;\"><span style=\"top:-2.655em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">2</span></span></span></span><span style=\"top:-3.23em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"frac-line\" style=\"border-bottom-width:0.04em;\"></span></span><span style=\"top:-3.394em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">1</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.345em;\"><span></span></span></span></span></span><span class=\"mclose nulldelimiter\"></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mopen nulldelimiter\"></span><span class=\"mfrac\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8451em;\"><span style=\"top:-2.655em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">2</span></span></span></span><span style=\"top:-3.23em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"frac-line\" style=\"border-bottom-width:0.04em;\"></span></span><span style=\"top:-3.394em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">1</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.345em;\"><span></span></span></span></span></span><span class=\"mclose nulldelimiter\"></span></span><span class=\"mclose\">)</span></span></span></span>","||[x = -1, \\quad y = 1, \\quad s = 1, \\quad p = 2, \\quad F = -1,||]":"<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"></span><span class=\"mord\">−</span><span class=\"mord\">1</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:1em;\"></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"></span><span class=\"mord\">1</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:1em;\"></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"></span><span class=\"mord\">1</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:1em;\"></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">p</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8778em;vertical-align:-0.1944em;\"></span><span class=\"mord\">2</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:1em;\"></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"></span><span class=\"mord\">−</span><span class=\"mord\">1</span><span class=\"mpunct\">,</span></span></span></span></span>","||(x + s^3 = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6667em;vertical-align:-0.0833em;\"></span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(y - s^2 = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7778em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||[2(x+s^3)\\,d(x+s^3) + 3(y-s^2)^2\\,d(y-s^2) = (1+F)\\,ds + s\\,dF.||]":"<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\">2</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">d</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\">3</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">d</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.1141em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8641em;\"><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord\">1</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">d</span><span class=\"mord mathnormal\">s</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">d</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mord\">.</span></span></span></span></span>","||(P||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">P</span></span></span></span>","||(1 + F = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">1</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(s = 1||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">1</span></span></span></span>","||(dF(P) = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\">d</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">P</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(\\varphi||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">φ</span></span></span></span>","||(\\varphi^{-1} \\circ \\varphi = \\mathrm{id}||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0085em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">φ</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">−</span><span class=\"mord mtight\">1</span></span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">∘</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">φ</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6944em;\"></span><span class=\"mord\"><span class=\"mord mathrm\">id</span></span></span></span></span>","||(\\nabla F||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord\">∇</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span></span></span></span>","||(F = -1||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6833em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">−</span><span class=\"mord\">1</span></span></span></span>","||(\\mathbb C^4||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathbb\">C</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">4</span></span></span></span></span></span></span></span></span></span></span>","||(\\mathbb C[h,u,v,w,z_1,\\dots,z_{n-4}]||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathbb\">C</span><span class=\"mopen\">[</span><span class=\"mord mathnormal\">h</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.044em;\">z</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.044em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">1</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.044em;\">z</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.044em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">n</span><span class=\"mbin mtight\">−</span><span class=\"mord mtight\">4</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2083em;\"><span></span></span></span></span></span></span><span class=\"mclose\">]</span></span></span></span>","||(n = 4||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">4</span></span></span></span>","||(z_i||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.044em;\">z</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3117em;\"><span style=\"top:-2.55em;margin-left:-0.044em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mathnormal mtight\">i</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>","||((P, 0, \\dots, 0)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">P</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"minner\">…</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mclose\">)</span></span></span></span>","||(p||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\">p</span></span></span></span>","||((1, 0, 0, 0)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord\">1</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mclose\">)</span></span></span></span>","||((h,u,v,w) = (2, 0, -1/2, 1/2)||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">h</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\">u</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord\">2</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">−</span><span class=\"mord\">1/2</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">1/2</span><span class=\"mclose\">)</span></span></span></span>","||(\\partial F/\\partial h||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mord\">/</span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\">h</span></span></span></span>","||(\\partial F/\\partial u||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mord\">/</span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\">u</span></span></span></span>","||(\\partial F/\\partial v||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mord\">/</span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">v</span></span></span></span>","||(\\partial F/\\partial w||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mord\">/</span><span class=\"mord\" style=\"margin-right:0.0556em;\">∂</span><span class=\"mord mathnormal\" style=\"margin-right:0.0269em;\">w</span></span></span></span>","||((x+s^3)^2 + (y-s^2)^3 = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\">x</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0641em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1.0641em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">s</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span><span class=\"mclose\"><span class=\"mclose\">)</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">3</span></span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(s(1+F) = 0||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\">s</span><span class=\"mopen\">(</span><span class=\"mord\">1</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">0</span></span></span></span>","||(F(P) = -1||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">F</span><span class=\"mopen\">(</span><span class=\"mord mathnormal\" style=\"margin-right:0.1389em;\">P</span><span class=\"mclose\">)</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">−</span><span class=\"mord\">1</span></span></span></span>","||(\\mathbb C^2||)":"<span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"katex-base\"><span class=\"katex-strut\" style=\"height:0.8141em;\"></span><span class=\"mord\"><span class=\"mord mathbb\">C</span><span class=\"msupsub\"><span class=\"vlist-t\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8141em;\"><span style=\"top:-3.063em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"katex-sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2</span></span></span></span></span></span></span></span></span></span></span>"}},"files":[{"path":"evidence/openai-049.json","size":16294,"url":"/sciencehub-team/noncoordinate-polynomial/raw/evidence/openai-049.json"},{"path":"lean/ComparatorChallenges/AbhyankarSathaye.json","size":366,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/ComparatorChallenges/AbhyankarSathaye.json"},{"path":"lean/ComparatorChallenges/AbhyankarSathaye.lean","size":724,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/ComparatorChallenges/AbhyankarSathaye.lean"},{"path":"lean/LICENSE","size":11357,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/LICENSE"},{"path":"lean/NOTICE","size":621,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/NOTICE"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Counterexample.lean","size":2178,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Counterexample.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/CriticalPoint.lean","size":2070,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/CriticalPoint.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Fiber.lean","size":2350,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Fiber.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/FiberFormulas.lean","size":5129,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/FiberFormulas.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Identities.lean","size":1922,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Identities.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Lifting.lean","size":6371,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Lifting.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LiftingIdentities.lean","size":3495,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LiftingIdentities.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LinearElimination.lean","size":2383,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LinearElimination.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LinearPresentation.lean","size":6236,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/LinearPresentation.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/NonCoordinate.lean","size":2006,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/NonCoordinate.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Plane.lean","size":4656,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Plane.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Presentation.lean","size":5437,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Presentation.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Quotient.lean","size":3095,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Quotient.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Reconstruction.lean","size":3663,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Reconstruction.lean"},{"path":"lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Stabilization.lean","size":4833,"url":"/sciencehub-team/noncoordinate-polynomial/raw/lean/OAI/AlgebraicGeometry/AbhyankarSathaye/Stabilization.lean"},{"path":"README.md","size":1922,"url":"/sciencehub-team/noncoordinate-polynomial/raw/README.md"}]}