{
  "schema": "balansis-site/lean-audit/1",
  "run": {
    "generated_at_utc": "2026-09-08T19:00:15.309614+00:00",
    "generator": "scripts/generate-lean-audit.py",
    "formal_dir": "<Balansis>/formal"
  },
  "toolchain": {
    "lean_toolchain": "leanprover/lean4:v4.28.0",
    "lake_version": "Lake version 5.0.0-src+7e01a1b (Lean version 4.28.0)",
    "mathlib_rev": "8f9d9cff6bd728b17a24e163c9402775d9e6a365",
    "mathlib_input_rev": "v4.28.0",
    "mathlib_url": "https://github.com/leanprover-community/mathlib4"
  },
  "steps": [
    {
      "command": "lake build BalansisFormal",
      "exit_code": 0,
      "started_at_utc": "2026-09-08T18:59:00.523751+00:00",
      "duration_seconds": 4.579741,
      "stdout_tail": "Build completed successfully (8033 jobs).\n",
      "stderr_tail": ""
    },
    {
      "command": "lake build ACT",
      "exit_code": 0,
      "started_at_utc": "2026-09-08T18:59:05.103510+00:00",
      "duration_seconds": 3.722055,
      "stdout_tail": "Build completed successfully (8039 jobs).\n",
      "stderr_tail": ""
    },
    {
      "command": "lake env lean FormalAudit.lean",
      "exit_code": 0,
      "started_at_utc": "2026-09-08T18:59:08.825581+00:00",
      "duration_seconds": 39.225359,
      "stdout_tail": "ndedRatio.indeterminate\nACT.ExtendedRatio.add_same_infinities (d : ExtendedDirection) :\n  ExtendedRatio.add (BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d)\n      (BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d) =\n    BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d\nACT.ExtendedRatio.mul_finite_zero_infinite_indeterminate (d : ExtendedDirection) :\n  ExtendedRatio.mul (BalansisFormal.ExtendedRatio.ExtendedRatio.finite 0)\n      (BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d) =\n    BalansisFormal.ExtendedRatio.ExtendedRatio.indeterminate\nACT.ExtendedRatio.mul_infinite_finite_zero_indeterminate (d : ExtendedDirection) :\n  ExtendedRatio.mul (BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d)\n      (BalansisFormal.ExtendedRatio.ExtendedRatio.finite 0) =\n    BalansisFormal.ExtendedRatio.ExtendedRatio.indeterminate\nACT.ExtendedRatio.saturate_infinite (d : ExtendedDirection) :\n  ExtendedRatio.saturate (BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d) =\n    BalansisFormal.ExtendedRatio.ExtendedRatio.finite\n      (BalansisFormal.EternalRatio.ofReal (BalansisFormal.Direction.toReal d))\nACT.ExtendedRatio.applyPolicy_raise_infinite (d : ExtendedDirection) :\n  ExtendedRatio.applyPolicy BalansisFormal.ExtendedRatio.SingularPolicy.raise\n      (BalansisFormal.ExtendedRatio.ExtendedRatio.infinite d) =\n    none\nACT.ExtendedRatio.applyPolicy_raise_indeterminate :\n  ExtendedRatio.applyPolicy BalansisFormal.ExtendedRatio.SingularPolicy.raise\n      BalansisFormal.ExtendedRatio.ExtendedRatio.indeterminate =\n    none\nACT.ExtendedRatio.applyPolicy_propagate (x : ExtendedRatio) :\n  ExtendedRatio.applyPolicy BalansisFormal.ExtendedRatio.SingularPolicy.propagate x = some x\nACT.ExtendedRatio.applyPolicy_saturate (x : ExtendedRatio) :\n  ExtendedRatio.applyPolicy BalansisFormal.ExtendedRatio.SingularPolicy.saturate x = some (ExtendedRatio.saturate x)\nACT.ExtendedRatio.extendedRatio_not_field_carrier :\n  ∃ x, ExtendedRatio.applyPolicy BalansisFormal.ExtendedRatio.SingularPolicy.raise x = none\nACT.AbsoluteValue.s1_associativity (a b c : ACT.AbsoluteValue) : a + b + c = a + (b + c)\nACT.AbsoluteValue.s2_mul_inverse (a : ACT.AbsoluteValue) (ha : a ≠ 0) : a * a⁻¹ = 1\nACT.EternalRatio.s3_distributivity (a b c : EternalRatio) : a * (b + c) = a * b + a * c\nACT.AbsoluteValue.order_reflexive (a : ACT.AbsoluteValue) : a ≤ a\nACT.AbsoluteValue.order_antisymmetric {a b : ACT.AbsoluteValue} (hab : a ≤ b) (hba : b ≤ a) : a = b\nACT.AbsoluteValue.order_transitive {a b c : ACT.AbsoluteValue} (hab : a ≤ b) (hbc : b ≤ c) : a ≤ c\nACT.AbsoluteValue.metric_nonneg (a b : ACT.AbsoluteValue) : 0 ≤ dist a b\nACT.AbsoluteValue.metric_symmetry (a b : ACT.AbsoluteValue) : dist a b = dist b a\nACT.AbsoluteValue.metric_triangle (a b c : ACT.AbsoluteValue) : dist a c ≤ dist a b + dist b c\nACT.AbsoluteValue.complete : CompleteSpace ACT.AbsoluteValue\nACT.AbsoluteValue.continuous_add : Continuous fun p => p.1 + p.2\nACT.AbsoluteValue.continuous_mul : Continuous fun p => p.1 * p.2\nACT.EternalRatio.order_reflexive (r : EternalRatio) : r ≤ r\nACT.EternalRatio.order_antisymmetric {r s : EternalRatio} (hrs : r ≤ s) (hsr : s ≤ r) : r = s\nACT.EternalRatio.order_transitive {r s t : EternalRatio} (hrs : r ≤ s) (hst : s ≤ t) : r ≤ t\nACT.EternalRatio.metric_nonneg (r s : EternalRatio) : 0 ≤ dist r s\nACT.EternalRatio.metric_symmetry (r s : EternalRatio) : dist r s = dist s r\nACT.EternalRatio.metric_triangle (r s t : EternalRatio) : dist r t ≤ dist r s + dist s t\nACT.EternalRatio.complete : CompleteSpace EternalRatio\nACT.EternalRatio.continuous_add : Continuous fun p => p.1 + p.2\nACT.EternalRatio.continuous_mul : Continuous fun p => p.1 * p.2\ninferInstance : Field ACT.AbsoluteValue\ninferInstance : Field EternalRatio\ninferInstance : LinearOrder ACT.AbsoluteValue\ninferInstance : LinearOrder EternalRatio\ninferInstance : MetricSpace ACT.AbsoluteValue\ninferInstance : MetricSpace EternalRatio\ninferInstance : CompleteSpace ACT.AbsoluteValue\ninferInstance : CompleteSpace EternalRatio\n",
      "stderr_tail": ""
    },
    {
      "command": "lake env lean <tmp>/SiteAxiomAudit.lean",
      "exit_code": 0,
      "started_at_utc": "2026-09-08T18:59:48.051572+00:00",
      "duration_seconds": 26.770412,
      "stdout_tail": ".sound]\n'ACT.AbsoluteValue.metric_symmetry' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.AbsoluteValue.metric_triangle' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.AbsoluteValue.complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.AbsoluteValue.continuous_add' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.AbsoluteValue.continuous_mul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.order_reflexive' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.order_antisymmetric' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.order_transitive' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.metric_nonneg' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.metric_symmetry' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.metric_triangle' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.complete' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.continuous_add' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.continuous_mul' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.Direction.negate_involutive' does not depend on any axioms\n'ACT.Direction.mul_comm' does not depend on any axioms\n'ACT.Direction.mul_assoc' does not depend on any axioms\n'ACT.EternalRatio.e1_well_defined' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.e2_stability' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.e3_multiplicative_identity' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.e3_multiplicative_identity_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.EternalRatio.e4_inverse' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.fromDivision_of_den_nonzero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.fromDivision_zero_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.fromDivision_of_num_nonzero_den_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.finite_iff_den_nonzero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.indeterminate_iff_zero_zero' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.add_indeterminate_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.add_indeterminate_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.mul_indeterminate_left' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.mul_indeterminate_right' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.add_opposite_infinities_indeterminate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.add_same_infinities' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.mul_finite_zero_infinite_indeterminate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.mul_infinite_finite_zero_indeterminate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.saturate_infinite' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.applyPolicy_raise_infinite' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.applyPolicy_raise_indeterminate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.applyPolicy_propagate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.applyPolicy_saturate' depends on axioms: [propext, Classical.choice, Quot.sound]\n'ACT.ExtendedRatio.extendedRatio_not_field_carrier' depends on axioms: [propext, Classical.choice, Quot.sound]\n",
      "stderr_tail": ""
    }
  ],
  "summary": {
    "theorems_declared": 73,
    "theorems_with_axiom_report": 73,
    "unresolved": [],
    "all_axioms_trusted": true,
    "trusted_axiom_set": [
      "Classical.choice",
      "Quot.sound",
      "propext"
    ],
    "untrusted": [],
    "forbidden_tokens": {
      "scanned_files": 16,
      "hits": [],
      "clean": true
    },
    "all_steps_succeeded": true
  },
  "theorems": [
    {
      "name": "ACT.a1_exists_unique",
      "short_name": "a1_exists_unique",
      "kind": "theorem",
      "file": "Absolute.lean",
      "line": 21,
      "statement": "theorem a1_exists_unique (x : ℝ) : ∃! a : AbsoluteValue, AbsoluteValue.toReal a = x :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.a2_nonneg",
      "short_name": "a2_nonneg",
      "kind": "theorem",
      "file": "Absolute.lean",
      "line": 24,
      "statement": "theorem a2_nonneg (a : AbsoluteValue) : (0 : ℝ) ≤ (a.magnitude : ℝ) :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.a3_compensation",
      "short_name": "a3_compensation",
      "kind": "theorem",
      "file": "Absolute.lean",
      "line": 27,
      "statement": "theorem a3_compensation (a b : AbsoluteValue)",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.a4_additive_identity",
      "short_name": "a4_additive_identity",
      "kind": "theorem",
      "file": "Absolute.lean",
      "line": 33,
      "statement": "theorem a4_additive_identity (a : AbsoluteValue) : a + AbsoluteValue.absolute = a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.a4_additive_identity_left",
      "short_name": "a4_additive_identity_left",
      "kind": "theorem",
      "file": "Absolute.lean",
      "line": 36,
      "statement": "theorem a4_additive_identity_left (a : AbsoluteValue) : AbsoluteValue.absolute + a = a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.a5_direction_preservation",
      "short_name": "a5_direction_preservation",
      "kind": "theorem",
      "file": "Absolute.lean",
      "line": 39,
      "statement": "theorem a5_direction_preservation (a : AbsoluteValue) (c : ℝ)",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s1_closure",
      "short_name": "s1_closure",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 14,
      "statement": "theorem s1_closure (a b : AbsoluteValue) : ∃ c : AbsoluteValue, c = a + b :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s1_associativity",
      "short_name": "s1_associativity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 17,
      "statement": "theorem s1_associativity (a b c : AbsoluteValue) : (a + b) + c = a + (b + c) :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s1_commutativity",
      "short_name": "s1_commutativity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 20,
      "statement": "theorem s1_commutativity (a b : AbsoluteValue) : a + b = b + a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s1_identity_right",
      "short_name": "s1_identity_right",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 23,
      "statement": "theorem s1_identity_right (a : AbsoluteValue) : a + 0 = a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s1_identity_left",
      "short_name": "s1_identity_left",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 26,
      "statement": "theorem s1_identity_left (a : AbsoluteValue) : (0 : AbsoluteValue) + a = a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s1_inverse",
      "short_name": "s1_inverse",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 29,
      "statement": "theorem s1_inverse (a : AbsoluteValue) : a + (-a) = 0 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s2_closure",
      "short_name": "s2_closure",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 32,
      "statement": "theorem s2_closure (a b : AbsoluteValue) (ha : a ≠ 0) (hb : b ≠ 0) : a * b ≠ 0 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s2_mul_associativity",
      "short_name": "s2_mul_associativity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 35,
      "statement": "theorem s2_mul_associativity (a b c : AbsoluteValue) : (a * b) * c = a * (b * c) :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s2_mul_commutativity",
      "short_name": "s2_mul_commutativity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 38,
      "statement": "theorem s2_mul_commutativity (a b : AbsoluteValue) : a * b = b * a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s2_mul_identity_right",
      "short_name": "s2_mul_identity_right",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 41,
      "statement": "theorem s2_mul_identity_right (a : AbsoluteValue) : a * 1 = a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s2_mul_identity_left",
      "short_name": "s2_mul_identity_left",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 44,
      "statement": "theorem s2_mul_identity_left (a : AbsoluteValue) : (1 : AbsoluteValue) * a = a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.s2_mul_inverse",
      "short_name": "s2_mul_inverse",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 47,
      "statement": "theorem s2_mul_inverse (a : AbsoluteValue) (ha : a ≠ 0) : a * a⁻¹ = 1 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.mul_add_distrib",
      "short_name": "mul_add_distrib",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 50,
      "statement": "theorem mul_add_distrib (a b c : AbsoluteValue) : a * (b + c) = a * b + a * c :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_add_assoc",
      "short_name": "s3_add_assoc",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 57,
      "statement": "theorem s3_add_assoc (r₁ r₂ r₃ : EternalRatio) : (r₁ + r₂) + r₃ = r₁ + (r₂ + r₃) :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_add_comm",
      "short_name": "s3_add_comm",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 60,
      "statement": "theorem s3_add_comm (r₁ r₂ : EternalRatio) : r₁ + r₂ = r₂ + r₁ :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_add_identity",
      "short_name": "s3_add_identity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 63,
      "statement": "theorem s3_add_identity (r : EternalRatio) : r + zero = r :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_add_inverse",
      "short_name": "s3_add_inverse",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 66,
      "statement": "theorem s3_add_inverse (r : EternalRatio) : r + (-r) = zero :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_mul_assoc",
      "short_name": "s3_mul_assoc",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 69,
      "statement": "theorem s3_mul_assoc (r₁ r₂ r₃ : EternalRatio) : (r₁ * r₂) * r₃ = r₁ * (r₂ * r₃) :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_mul_comm",
      "short_name": "s3_mul_comm",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 72,
      "statement": "theorem s3_mul_comm (r₁ r₂ : EternalRatio) : r₁ * r₂ = r₂ * r₁ :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_mul_identity",
      "short_name": "s3_mul_identity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 75,
      "statement": "theorem s3_mul_identity (r : EternalRatio) : r * unity = r :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_mul_inverse",
      "short_name": "s3_mul_inverse",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 78,
      "statement": "theorem s3_mul_inverse (r : EternalRatio) (hr : r ≠ zero) : r * r⁻¹ = unity :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.s3_distributivity",
      "short_name": "s3_distributivity",
      "kind": "theorem",
      "file": "Algebra.lean",
      "line": 81,
      "statement": "theorem s3_distributivity (a b c : EternalRatio) : a * (b + c) = a * b + a * c :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.order_reflexive",
      "short_name": "order_reflexive",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 14,
      "statement": "theorem order_reflexive (a : AbsoluteValue) : a ≤ a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.order_antisymmetric",
      "short_name": "order_antisymmetric",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 17,
      "statement": "theorem order_antisymmetric {a b : AbsoluteValue} (hab : a ≤ b) (hba : b ≤ a) : a = b :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.order_transitive",
      "short_name": "order_transitive",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 20,
      "statement": "theorem order_transitive {a b c : AbsoluteValue} (hab : a ≤ b) (hbc : b ≤ c) : a ≤ c :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.metric_nonneg",
      "short_name": "metric_nonneg",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 23,
      "statement": "theorem metric_nonneg (a b : AbsoluteValue) : 0 ≤ dist a b :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.metric_symmetry",
      "short_name": "metric_symmetry",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 26,
      "statement": "theorem metric_symmetry (a b : AbsoluteValue) : dist a b = dist b a :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.metric_triangle",
      "short_name": "metric_triangle",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 29,
      "statement": "theorem metric_triangle (a b c : AbsoluteValue) : dist a c ≤ dist a b + dist b c :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.complete",
      "short_name": "complete",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 32,
      "statement": "theorem complete : CompleteSpace AbsoluteValue :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.continuous_add",
      "short_name": "continuous_add",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 35,
      "statement": "theorem continuous_add : Continuous fun p : AbsoluteValue × AbsoluteValue => p.1 + p.2 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.AbsoluteValue.continuous_mul",
      "short_name": "continuous_mul",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 38,
      "statement": "theorem continuous_mul : Continuous fun p : AbsoluteValue × AbsoluteValue => p.1 * p.2 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.order_reflexive",
      "short_name": "order_reflexive",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 45,
      "statement": "theorem order_reflexive (r : EternalRatio) : r ≤ r :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.order_antisymmetric",
      "short_name": "order_antisymmetric",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 48,
      "statement": "theorem order_antisymmetric {r s : EternalRatio} (hrs : r ≤ s) (hsr : s ≤ r) : r = s :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.order_transitive",
      "short_name": "order_transitive",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 51,
      "statement": "theorem order_transitive {r s t : EternalRatio} (hrs : r ≤ s) (hst : s ≤ t) : r ≤ t :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.metric_nonneg",
      "short_name": "metric_nonneg",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 54,
      "statement": "theorem metric_nonneg (r s : EternalRatio) : 0 ≤ dist r s :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.metric_symmetry",
      "short_name": "metric_symmetry",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 57,
      "statement": "theorem metric_symmetry (r s : EternalRatio) : dist r s = dist s r :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.metric_triangle",
      "short_name": "metric_triangle",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 60,
      "statement": "theorem metric_triangle (r s t : EternalRatio) : dist r t ≤ dist r s + dist s t :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.complete",
      "short_name": "complete",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 63,
      "statement": "theorem complete : CompleteSpace EternalRatio :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.continuous_add",
      "short_name": "continuous_add",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 66,
      "statement": "theorem continuous_add : Continuous fun p : EternalRatio × EternalRatio => p.1 + p.2 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.continuous_mul",
      "short_name": "continuous_mul",
      "kind": "theorem",
      "file": "Analysis.lean",
      "line": 69,
      "statement": "theorem continuous_mul : Continuous fun p : EternalRatio × EternalRatio => p.1 * p.2 :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.Direction.negate_involutive",
      "short_name": "negate_involutive",
      "kind": "theorem",
      "file": "Direction.lean",
      "line": 16,
      "statement": "theorem negate_involutive (d : Direction) : negate (negate d) = d :=",
      "axioms": [],
      "axioms_trusted": true
    },
    {
      "name": "ACT.Direction.mul_comm",
      "short_name": "mul_comm",
      "kind": "theorem",
      "file": "Direction.lean",
      "line": 19,
      "statement": "theorem mul_comm (d₁ d₂ : Direction) : mul d₁ d₂ = mul d₂ d₁ :=",
      "axioms": [],
      "axioms_trusted": true
    },
    {
      "name": "ACT.Direction.mul_assoc",
      "short_name": "mul_assoc",
      "kind": "theorem",
      "file": "Direction.lean",
      "line": 22,
      "statement": "theorem mul_assoc (d₁ d₂ d₃ : Direction) :",
      "axioms": [],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.e1_well_defined",
      "short_name": "e1_well_defined",
      "kind": "theorem",
      "file": "EternalRatio.lean",
      "line": 23,
      "statement": "theorem e1_well_defined (a b : AbsoluteValue) (hb : b ≠ 0) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.e2_stability",
      "short_name": "e2_stability",
      "kind": "theorem",
      "file": "EternalRatio.lean",
      "line": 27,
      "statement": "theorem e2_stability (r : EternalRatio) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.e3_multiplicative_identity",
      "short_name": "e3_multiplicative_identity",
      "kind": "theorem",
      "file": "EternalRatio.lean",
      "line": 31,
      "statement": "theorem e3_multiplicative_identity (r : EternalRatio) : r * unity = r :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.e3_multiplicative_identity_left",
      "short_name": "e3_multiplicative_identity_left",
      "kind": "theorem",
      "file": "EternalRatio.lean",
      "line": 34,
      "statement": "theorem e3_multiplicative_identity_left (r : EternalRatio) : unity * r = r :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.EternalRatio.e4_inverse",
      "short_name": "e4_inverse",
      "kind": "theorem",
      "file": "EternalRatio.lean",
      "line": 37,
      "statement": "theorem e4_inverse (r : EternalRatio) (hr : r ≠ zero) : r * r⁻¹ = unity :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.fromDivision_of_den_nonzero",
      "short_name": "fromDivision_of_den_nonzero",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 27,
      "statement": "theorem fromDivision_of_den_nonzero (a b : AbsoluteValue) (hb : b ≠ 0) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.fromDivision_zero_zero",
      "short_name": "fromDivision_zero_zero",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 31,
      "statement": "theorem fromDivision_zero_zero :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.fromDivision_of_num_nonzero_den_zero",
      "short_name": "fromDivision_of_num_nonzero_den_zero",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 35,
      "statement": "theorem fromDivision_of_num_nonzero_den_zero (a : AbsoluteValue) (ha : a ≠ 0) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.finite_iff_den_nonzero",
      "short_name": "finite_iff_den_nonzero",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 39,
      "statement": "theorem finite_iff_den_nonzero (a b : AbsoluteValue) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.indeterminate_iff_zero_zero",
      "short_name": "indeterminate_iff_zero_zero",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 43,
      "statement": "theorem indeterminate_iff_zero_zero (a b : AbsoluteValue) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.add_indeterminate_left",
      "short_name": "add_indeterminate_left",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 47,
      "statement": "theorem add_indeterminate_left (x : ExtendedRatio) : add .indeterminate x = .indeterminate :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.add_indeterminate_right",
      "short_name": "add_indeterminate_right",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 50,
      "statement": "theorem add_indeterminate_right (x : ExtendedRatio) : add x .indeterminate = .indeterminate :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.mul_indeterminate_left",
      "short_name": "mul_indeterminate_left",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 53,
      "statement": "theorem mul_indeterminate_left (x : ExtendedRatio) : mul .indeterminate x = .indeterminate :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.mul_indeterminate_right",
      "short_name": "mul_indeterminate_right",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 56,
      "statement": "theorem mul_indeterminate_right (x : ExtendedRatio) : mul x .indeterminate = .indeterminate :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.add_opposite_infinities_indeterminate",
      "short_name": "add_opposite_infinities_indeterminate",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 59,
      "statement": "theorem add_opposite_infinities_indeterminate (d : ExtendedDirection) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.add_same_infinities",
      "short_name": "add_same_infinities",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 63,
      "statement": "theorem add_same_infinities (d : ExtendedDirection) : add (.infinite d) (.infinite d) = .infinite d :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.mul_finite_zero_infinite_indeterminate",
      "short_name": "mul_finite_zero_infinite_indeterminate",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 66,
      "statement": "theorem mul_finite_zero_infinite_indeterminate (d : ExtendedDirection) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.mul_infinite_finite_zero_indeterminate",
      "short_name": "mul_infinite_finite_zero_indeterminate",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 70,
      "statement": "theorem mul_infinite_finite_zero_indeterminate (d : ExtendedDirection) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.saturate_infinite",
      "short_name": "saturate_infinite",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 74,
      "statement": "theorem saturate_infinite (d : ExtendedDirection) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.applyPolicy_raise_infinite",
      "short_name": "applyPolicy_raise_infinite",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 78,
      "statement": "theorem applyPolicy_raise_infinite (d : ExtendedDirection) :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.applyPolicy_raise_indeterminate",
      "short_name": "applyPolicy_raise_indeterminate",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 82,
      "statement": "theorem applyPolicy_raise_indeterminate : applyPolicy .raise .indeterminate = none :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.applyPolicy_propagate",
      "short_name": "applyPolicy_propagate",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 85,
      "statement": "theorem applyPolicy_propagate (x : ExtendedRatio) : applyPolicy .propagate x = some x :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.applyPolicy_saturate",
      "short_name": "applyPolicy_saturate",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 88,
      "statement": "theorem applyPolicy_saturate (x : ExtendedRatio) : applyPolicy .saturate x = some (saturate x) :=",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    },
    {
      "name": "ACT.ExtendedRatio.extendedRatio_not_field_carrier",
      "short_name": "extendedRatio_not_field_carrier",
      "kind": "theorem",
      "file": "ExtendedRatio.lean",
      "line": 91,
      "statement": "theorem extendedRatio_not_field_carrier :",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ],
      "axioms_trusted": true
    }
  ]
}
