Identifier
F:complex-inv-mul-cancel
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For a constructed complex number x0 with a positivity witness x2 that its squared norm is bounded away from 0 at precision x1, the inverse Complex.inv(x0, x1, x2) times x0 is Complex.Equiv-equivalent to 1.

Formal statement
theorem Complex.inv_mul_cancel : ((x0 : Complex) -> ((x1 : AxNat) -> ((x2 : CReal.PosBound (Complex.normSq x0) x1) -> Complex.Equiv (Complex.mul (Complex.inv x0 x1 x2) x0) Complex.one)))

Dependencies

The graph shows direct ledger edges. Follow a node to open its artifact page.

Direct dependencies appear to the left. The current fact is in the center. Facts that depend directly on it appear to the right. Complex.Equiv is transitive Multiplication on the construct A constructed complex number wi Current fact The complex finite geometric se [generated] kernel theorem Comp
3 direct dependencies 2 direct dependents

Evidence

kernel-Complex.inv_mul_cancel

Kind
kernel-term
Status
checked

Supports: Complex.inv_mul_cancel is admitted by the trusted kernel gate with the type recorded in formal.statement.

Checker command
cargo run -q --release -p axeyum-lean-kernel --example theorem_dependency_inventory -- Complex.inv_mul_cancel 2>/dev/null | grep -cE '^Complex\.inv_mul_cancel[[:space:]]'
Evidence notes

`build_complex_prelude` admits Complex.inv_mul_cancel through the trusted `Kernel::add_declaration` gate, which re-checks the proof term against the stated type, so a line in this tool's output for the exact name is a machine-checked proof having been admitted. `theorem_dependency_inventory` builds creal/complex/cpoint in one run; it exits non-zero for a named filter that matches nothing, and `grep -c` (never `-q`) independently asserts the exact tab-anchored line is present. `--release` is MANDATORY: building the constructed carriers recurses deep enough in a debug build to overflow the default thread stack (measured on this tree: release exits 0, debug SIGABRTs at 134).

footprint-Complex.inv_mul_cancel

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the complex prelude's trusted surface is empty, which bounds Complex.inv_mul_cancel

Checker command
cargo run -q --release -p axeyum-lean-kernel --example nat_axiom_inventory -- --include-constructed --require-axiom-free complex
Evidence notes

`nat_axiom_inventory --include-constructed --require-axiom-free complex` builds the complex environment as its own group and reports `complex: axiom=0 opaque=0 quotient=0 total_trusted=0` (re-measured on this tree), covering Axiom, Opaque AND Quotient, not just Declaration::Axiom -- this bounds every individual complex theorem's footprint by []. `--include-constructed` is REQUIRED: without it the command exits 1 naming `complex` as known but not built this run rather than a silent pass, which is the standing trap of an empty/absent result reading as a strong negative when the tool was never pointed at the subject. `nat_axiom_inventory` now covers `cpoint` directly (re-verified on this tree: `--require-axiom-free cpoint` exits 0 with `cpoint: axiom=0 opaque=0 quotient=0 total_trusted=0`), so the footprint_closure_audit fallback some earlier CPoint facts used is not needed here. `--release` is MANDATORY for the same deep-recursion reason as `theorem_dependency_inventory` (measured on this tree: debug SIGABRTs at 134).

Provenance

{
  "date": "2026-08-25",
  "established_by": "axeyum-lean-kernel build_complex_prelude",
  "source": "theorem name and dependency edges from theorem_dependency_inventory (builds creal/complex/cpoint); canonical type and top-level binder arity read via a standalone probe binary depending on axeyum-lean-kernel by path, calling only its public Kernel API (environment(), display_name(), render_lean(), axiom_footprint(), expr_node()) -- no in-tree example prints Complex/CPoint theorem types; crates/ source was not touched to produce this batch; the probe was built and run in the session scratchpad and deleted after use."
}