{
  "prefix": {
    "pe": "https://proofengine.info/proofs/eml-calculator-closure/",
    "prov": "http://www.w3.org/ns/prov#",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "schema": "http://schema.org/"
  },
  "entity": {
    "pe:claim": {
      "prov:type": "pe:Claim",
      "prov:label": "Every elementary function that appears on a standard scientific calculator \u2014 including \\(+\\), \\(\\times\\), \\(\\div\\), exponentiation \\(x^y\\), \\(\\sin\\), \\(\\cos\\), \\(\\tan\\), \\(\\sqrt{x}\\), \\(\\log_{10}\\), \\(\\pi\\), \\(e\\), \\(i\\), and their compositions and inverses \u2014 can be realised as a finite binary tree of the operator \\(\\mathrm{eml}(a, b) = e^{a} - \\ln b\\) whose leaves are the constant \\(1\\) and the input variables. Each construction is verified to machine precision at multiple test points on its natural domain.",
      "prov:value": "Every elementary function that appears on a standard scientific calculator \u2014 including \\(+\\), \\(\\times\\), \\(\\div\\), exponentiation \\(x^y\\), \\(\\sin\\), \\(\\cos\\), \\(\\tan\\), \\(\\sqrt{x}\\), \\(\\log_{10}\\), \\(\\pi\\), \\(e\\), \\(i\\), and their compositions and inverses \u2014 can be realised as a finite binary tree of the operator \\(\\mathrm{eml}(a, b) = e^{a} - \\ln b\\) whose leaves are the constant \\(1\\) and the input variables. Each construction is verified to machine precision at multiple test points on its natural domain."
    },
    "pe:evidence-A1": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "eml-trees exist for every listed primitive (arithmetic, roots/powers, log10, trig, inverse trig, constants pi/e/i)",
      "pe:factId": "A1",
      "pe:evidenceType": "computed",
      "pe:method": "Programmatic construction of an eml-tree for each of the 13 primitives + 3 constants using the five previously verified building blocks; token counts reported via recursive K()",
      "pe:result": "Confirmed: 16 primitive trees constructed. Sample K values: add(x,y)=19, sub(x,y)=11, mult(x,y)=17, div(x,y)=73, pow(x,y)=25, sqrt(x)=59, log10(x)=247, sin(x)=471"
    },
    "pe:evidence-A2": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Numerical verification: every primitive matches its analytic value at multiple interior test points (max |diff| < 1e-12)",
      "pe:factId": "A2",
      "pe:evidenceType": "computed",
      "pe:method": "Recursive numerical evaluation (cmath.exp, cmath.log, principal branch) of each primitive tree at multiple interior points of its natural domain; compare against math.* reference values",
      "pe:result": "Confirmed: 50 checks passed; max |diff| = 1.23e-14"
    },
    "pe:evidence-A3": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Composition witness: sin(sqrt(x) + cos(x)) evaluated as a single eml-tree matches math.sin(math.sqrt(x) + math.cos(x)) at multiple test points",
      "pe:factId": "A3",
      "pe:evidenceType": "computed",
      "pe:method": "Leaf substitution of sqrt(x) and cos(x) subtrees into sin's x-leaf; numerical evaluation at 3 interior points",
      "pe:result": "Confirmed: composition tree K = 1367; max |diff| over 3 points = 1.49e-15"
    },
    "pe:evidence-A4": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Inverse-trio witness: sin(arcsin(a)) = a, cos(arccos(a)) = a, tan(arctan(a)) = a all hold at a = 0.5 via eml-tree evaluation",
      "pe:factId": "A4",
      "pe:evidenceType": "computed",
      "pe:method": "Construction of sin(arcsin(x)), cos(arccos(x)), tan(arctan(x)) by substitution; evaluation at x = 0.5 and comparison to 0.5",
      "pe:result": "Confirmed: all three round-trips match 0.5; max |diff| = 1.96e-15"
    },
    "pe:evidence-A5": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Structural closure: every constructed tree has leaves only in {1, x, y}; no hidden constants or other symbols",
      "pe:factId": "A5",
      "pe:evidenceType": "computed",
      "pe:method": "Recursive leaf-walk on each primitive tree; verify leaves subset of {1, x, y}",
      "pe:result": "Confirmed for all 16 primitive trees"
    },
    "pe:evidence-A6": {
      "prov:type": "pe:ComputedEvidence",
      "prov:label": "Building-block integrity: ADD(1,1)=2, MULT(1,1)=1 at K=19, K=17 (matches the published K=19 and K=17 proofs byte-for-byte)",
      "pe:factId": "A6",
      "pe:evidenceType": "computed",
      "pe:method": "Parse the published K=19 ADD_STR and K=17 MULT_STR templates; K(ADD(1,1)) == 19 and K(MULT(1,1)) == 17 (sanity) and numerical values are 2 and 1 respectively",
      "pe:result": "Confirmed: ADD(1,1) = (1.9999999999999996+0j), MULT(1,1) = (1+0j)"
    },
    "pe:verdict": {
      "prov:type": "pe:Verdict",
      "prov:label": "Verdict: PROVED",
      "prov:value": "PROVED",
      "pe:doi": "10.5281/zenodo.19635623"
    }
  },
  "activity": {
    "pe:determine-verdict": {
      "prov:type": "pe:VerdictDetermination",
      "prov:label": "Determine verdict from evidence",
      "prov:endTime": "2026-04-17"
    }
  },
  "agent": {
    "pe:proof-engine": {
      "prov:type": "prov:SoftwareAgent",
      "prov:label": "Proof Engine",
      "schema:version": "1.18.0",
      "schema:url": "https://github.com/yaniv-golan/proof-engine"
    }
  },
  "wasGeneratedBy": {
    "pe:gen-verdict": {
      "prov:entity": "pe:verdict",
      "prov:activity": "pe:determine-verdict"
    }
  },
  "wasDerivedFrom": {
    "pe:deriv-A2-from-A1": {
      "prov:generatedEntity": "pe:evidence-A2",
      "prov:usedEntity": "pe:evidence-A1"
    },
    "pe:deriv-A3-from-A1": {
      "prov:generatedEntity": "pe:evidence-A3",
      "prov:usedEntity": "pe:evidence-A1"
    },
    "pe:deriv-A3-from-A2": {
      "prov:generatedEntity": "pe:evidence-A3",
      "prov:usedEntity": "pe:evidence-A2"
    },
    "pe:deriv-A4-from-A1": {
      "prov:generatedEntity": "pe:evidence-A4",
      "prov:usedEntity": "pe:evidence-A1"
    },
    "pe:deriv-A4-from-A2": {
      "prov:generatedEntity": "pe:evidence-A4",
      "prov:usedEntity": "pe:evidence-A2"
    },
    "pe:deriv-A5-from-A1": {
      "prov:generatedEntity": "pe:evidence-A5",
      "prov:usedEntity": "pe:evidence-A1"
    }
  },
  "wasAttributedTo": {
    "pe:attr-verdict": {
      "prov:entity": "pe:verdict",
      "prov:agent": "pe:proof-engine"
    }
  },
  "used": {
    "pe:used-A1": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A1"
    },
    "pe:used-A2": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A2"
    },
    "pe:used-A3": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A3"
    },
    "pe:used-A4": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A4"
    },
    "pe:used-A5": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A5"
    },
    "pe:used-A6": {
      "prov:activity": "pe:determine-verdict",
      "prov:entity": "pe:evidence-A6"
    }
  }
}