{
  "format_version": 3,
  "claim_natural": "The binary operator eml is defined by the expression \\(\\text{eml}(a, b) = \\exp(a) - \\ln(b)\\). There exists a finite binary tree consisting solely of eml operations, whose 10 leaves are drawn from \\(\\{1, x, y\\}\\), such that the tree evaluates exactly to \\(x + y\\). The tree has K = 19 tokens (9 eml operations and 10 leaves), and the identity holds for all real \\(x\\) and \\(y\\) (and formally for all complex \\(x, y\\) in the algebraic setting where \\(\\ln \\circ \\exp\\) is the identity).",
  "claim_formal": {
    "subject": "Binary operator eml(a, b) = exp(a) - ln(b)",
    "property": "eml(1, eml(eml(eml(1, eml(eml(1, eml(1, eml(x, 1))), 1)), eml(y, 1)), 1)) = x + y for all real x, y (x != e)",
    "operator": "==",
    "operator_note": "The claim asserts that a specific K=19 binary tree of eml operations evaluates to x + y. K denotes the total number of tree nodes (9 internal eml nodes + 10 leaves = 19). Working inside out through 9 layers: (1) E1 = eml(x, 1) = exp(x). (2) E2 = eml(1, E1) = e - x. (3) E3 = eml(1, E2) = e - ln(e-x). (4) E4 = eml(E3, 1) = exp(e)/(e-x). (5) E5 = eml(1, E4) = ln(e-x). Steps 3-5 are the triple-nesting identity applied to (e-x). (6) E6 = eml(y, 1) = exp(y). (7) E7 = eml(E5, E6) = (e-x) - y = e - x - y. This is the eml-subtraction identity eml(ln(a), exp(b)) = a - b. (8) E8 = eml(E7, 1) = exp(e - x - y). (9) E9 = eml(1, E8) = e - ln(exp(e-x-y)) = e - (e-x-y) = x + y. The expression is undefined at x = e (where E2 = 0 causes log(0) in E3); this is a removable singularity \u2014 the limit from both sides equals e + y = x + y, verified by SymPy. For complex x, y: the identity holds as a formal algebraic identity where ln(exp(z)) = z (i.e., on the Riemann surface of log). On the principal branch, it holds when |Im(x+y)| < pi; beyond that, the error is exactly 2*k*pi*i for integer k.",
    "threshold": true,
    "is_time_sensitive": false
  },
  "evidence": {
    "A1": {
      "type": "computed",
      "label": "Token count K = 19 (9 eml operations + 10 leaves)",
      "sub_claim": null,
      "method": "Programmatic parsing of the expression string to count eml operation nodes and leaf nodes (1, x, y)",
      "result": "Confirmed: 9 eml + 10 leaves = K = 19",
      "depends_on": []
    },
    "A2": {
      "type": "computed",
      "label": "Step-by-step symbolic evaluation: E9 = x + y",
      "sub_claim": null,
      "method": "SymPy symbolic evaluation through 9 layers: build each sub-expression E1..E9 with simplification at each step, verify residuals at 5 critical algebraic cancellation points (E1=exp(x), E2=e-x, E4=exp(e)/(e-x), E7=e-x-y, E9=x+y) all equal zero",
      "result": "Confirmed: all 5 critical residuals = 0, E9 = x + y",
      "depends_on": [
        "A1"
      ]
    },
    "A3": {
      "type": "computed",
      "label": "Full expression minus (x + y) = 0",
      "sub_claim": null,
      "method": "SymPy simplify(E9 - (x + y)) for real symbols x, y; verify residual equals 0",
      "result": "Confirmed: residual = 0",
      "depends_on": [
        "A2"
      ]
    },
    "A4": {
      "type": "computed",
      "label": "Removable singularity at x = e: limit equals e + y",
      "sub_claim": null,
      "method": "SymPy limit(E9, x, e) from left, right, and both sides; verify all three equal e + y",
      "result": "Confirmed: limit from left = y + E, from right = y + E, both = e + y",
      "depends_on": [
        "A2"
      ]
    },
    "A5": {
      "type": "computed",
      "label": "Numerical spot-check at 10 real-valued (x, y) pairs",
      "sub_claim": null,
      "method": "Numerical evaluation of the full 9-layer chain at 10 real-valued (x, y) pairs spanning [-100, 100], including x = 0, x > e, x near the singularity at e (within 1e-12); verify |result - (x+y)| < 1e-6",
      "result": "Confirmed: max |diff| = 1.26e-14",
      "depends_on": []
    },
    "A6": {
      "type": "computed",
      "label": "Numerical spot-check at 5 complex-valued (x, y) pairs",
      "sub_claim": null,
      "method": "Numerical evaluation of the full 9-layer chain at 5 complex-valued (x, y) pairs with |Im(x+y)| < pi (principal-branch domain); verify |result - (x+y)| < 1e-10",
      "result": "Confirmed: max |diff| = 1.34e-15",
      "depends_on": []
    },
    "A7": {
      "type": "computed",
      "label": "Exhaustive search: no K <= 15 eml tree computes x + y",
      "sub_claim": null,
      "method": "Embedded exhaustive bottom-up search: enumerate all distinct eml binary trees with leaves {1, x, y} at each odd K from 1 to 15 using numerical fingerprinting at a generic complex test point; check if x+y appears",
      "result": "Confirmed: 1,980,526 distinct values at K=15, x+y not found at any K <= 15",
      "depends_on": []
    }
  },
  "cross_checks": [
    {
      "description": "Symbolic (A2, A3) vs numerical (A5, A6): symbolic algebra proves identity exactly for real x, y; numerical evaluation independently confirms at 15 test points (10 real + 5 complex)",
      "fact_ids": [
        "A3",
        "A5",
        "A6"
      ],
      "agreement": true
    },
    {
      "description": "Exhaustive search (A7) as independent method: bottom-up enumeration of all eml trees through K=15 finds no tree computing x+y, confirming K=19 is not achievable at lower K",
      "fact_ids": [
        "A3",
        "A7"
      ],
      "agreement": true
    }
  ],
  "adversarial_checks": [
    {
      "question": "Does the identity hold for real x > e, where the intermediate value e - x is negative?",
      "verification_performed": "For x > e (e.g., x = 100), E2 = e - x < 0. Then E3 = e - log(e-x) involves log of a negative real, producing a complex intermediate with imaginary part -pi*i. Tracing: E3 = (e - ln|e-x|) - pi*i, E4 = exp(E3) = -(exp(e)/|e-x|) (negative real), E5 = e - log(E4) = ln|e-x| - pi*i. Then E7 = exp(E5) - log(exp(y)) = -(e-x) - y = e-x-y (real). The \u00b1pi*i terms cancel exactly. Numerical tests at x=100/y=-99 and x=e+1e-6/y=0 confirm |diff| < 2e-14.",
      "finding": "The identity holds for all real x != e (including x > e). Intermediate complex values with \u00b1pi*i cancel perfectly.",
      "breaks_proof": false
    },
    {
      "question": "Is x = e a genuine exception or a removable singularity?",
      "verification_performed": "At x = e, E2 = 0, and E3 = eml(1, 0) = e - log(0) is undefined (log(0) = -infinity). SymPy's limit() function confirms: lim_{x->e-} E9 = e + y, lim_{x->e+} E9 = e + y, and the two-sided limit = e + y. Since both one-sided limits exist and equal x + y = e + y, this is a removable singularity. Numerical evaluation at x = e - 1e-12 gives |diff| < 1e-6, confirming the expression approaches the correct value.",
      "finding": "x = e is a removable singularity. The expression is undefined at that single point but its limit from both sides equals e + y. The identity holds for all real x except this isolated point.",
      "breaks_proof": false
    },
    {
      "question": "Does the identity hold for arbitrary complex x, y on the principal branch of log?",
      "verification_performed": "E9 = e - log(exp(e - x - y)). On the principal branch, log(exp(z)) = z iff Im(z) in (-pi, pi]. Since Im(e - x - y) = -Im(x + y), the identity holds when |Im(x + y)| < pi. Verification: x=0.5+i, y=-1.5+2i gives Im(x+y)=3 < pi and |diff|=0. x=1+2i, y=1+2i gives Im(x+y)=4 > pi and |diff|=2*pi (branch-cut error of exactly 2*pi*i). In the paper's formal algebraic framework, ln(exp(z)) = z is an axiom (equivalently, working on the Riemann surface), and the identity holds for all complex x, y.",
      "finding": "On the principal branch: holds when |Im(x+y)| < pi. As a formal algebraic identity: holds for all complex x, y. The branch-cut error is always exactly 2*k*pi*i.",
      "breaks_proof": false
    },
    {
      "question": "Is K = 19 the minimum code length for addition?",
      "verification_performed": "An embedded exhaustive search (A7) enumerated all distinct eml trees through K=15 (1,980,526 distinct values at K=15) and found no expression evaluating to x+y. A separate external search extended through K=17 (18,470,098 distinct values, 572 seconds) with the same result: closest match at K=17 was |diff|=2.0e-3, not a match. No expression at K <= 17 computes x+y. This is consistent with the result in arXiv:2603.21852 that K=19 is minimal for addition.",
      "finding": "Exhaustive search through K=15 (embedded, reproducible) and K=17 (external) found no eml tree computing x+y. K=19 is confirmed minimal.",
      "breaks_proof": false
    },
    {
      "question": "Could numerical overflow cause false agreement?",
      "verification_performed": "The largest intermediate value in the chain is E4 or E8. E4 = exp(e)/(e-x): for x near e, this diverges (the singularity), but E5 = log(E4) brings it back down. E8 = exp(e-x-y): for x=-100, y=100.5, E8 = exp(e-0.5) \u2248 9.19. The log-exp cancellation in E5=ln(e-x) undoes the exponential growth from E4, keeping the chain bounded. The symbolic proof does not depend on floating-point.",
      "finding": "No overflow risk. The log-exp cancellation at E5 bounds intermediate values. The proof rests on exact symbolic algebra.",
      "breaks_proof": false
    }
  ],
  "verdict": {
    "value": "PROVED",
    "qualified": false,
    "qualifier": null,
    "reason": null
  },
  "key_results": {
    "token_count_K": 19,
    "symbolic_steps_verified": true,
    "full_residual_zero": true,
    "singularity_limit_verified": true,
    "real_numerical_max_diff": 1.2566132665226583e-14,
    "complex_numerical_max_diff": 1.336885555457667e-15,
    "exhaustive_search_max_k": 15,
    "exhaustive_search_found": null,
    "claim_holds": true
  },
  "generator": {
    "name": "proof-engine",
    "version": "1.18.0",
    "repo": "https://github.com/yaniv-golan/proof-engine",
    "generated_at": "2026-04-16"
  },
  "proof_py_url": "/proofs/eml-k19-addition-tree/proof.py",
  "citation": {
    "doi": "10.5281/zenodo.19635620",
    "concept_doi": "10.5281/zenodo.19626406",
    "url": "https://proofengine.info/proofs/eml-k19-addition-tree/",
    "author": "Proof Engine",
    "cite_bib_url": "/proofs/eml-k19-addition-tree/cite.bib",
    "cite_ris_url": "/proofs/eml-k19-addition-tree/cite.ris"
  },
  "depends_on": [
    {
      "relation": "IsDerivedFrom",
      "identifiers": [
        {
          "type": "slug",
          "value": "the-binary-operator-defined-by-text-eml-a-b-exp-a-ln-b-satisfies-text-eml-x-1"
        },
        {
          "type": "doi",
          "value": "10.5281/zenodo.19626399"
        }
      ],
      "note": "EXP identity eml(x,1)=exp(x)"
    },
    {
      "relation": "IsDerivedFrom",
      "identifiers": [
        {
          "type": "slug",
          "value": "eml-triple-nesting-recovers-ln-x"
        },
        {
          "type": "doi",
          "value": "10.5281/zenodo.19626401"
        }
      ],
      "note": "LN identity from K=7 triple nesting"
    },
    {
      "relation": "References",
      "identifiers": [
        {
          "type": "arxiv",
          "value": "2603.21852"
        }
      ],
      "note": "Originating paper"
    }
  ]
}