Identifier
F:complex-mul-sub-one-geom
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For a constructed complex number x and natural n, (1 - x) * sum_{i<n} x^i is Complex.Equiv-equivalent to 1 - x^n. The complex analogue of the already-registered F:creal-mul-sub-one-geom, one level up the tower; unlike the CReal version this one is proved by REDUCTION to the CReal identity component-wise rather than by re-running the induction (its direct edges cite CReal.* algebra lemmas, not CReal.mul_sub_one_geom itself -- see notes).

Formal statement
theorem Complex.mul_sub_one_geom : ((x0 : Complex) -> ((x1 : AxNat) -> Complex.Equiv (Complex.mul (Complex.add Complex.one (Complex.neg x0)) (Complex.sumRange (fun (x2 : AxNat) => Complex.pow x0 x2) x1)) (Complex.add Complex.one (Complex.neg (Complex.pow x0 x1)))))

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. Addition on the constructed com Every constructed complex numbe CReal.Equiv-lifted equivalence Complex.Equiv is symmetric Complex.Equiv is transitive Multiplication distributes over Zero annihilates multiplication Addition on the constructed rea Current fact The complex finite geometric se [generated] kernel theorem Comp
22 direct dependencies 2 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Complex.mul_sub_one_geom

Kind
kernel-term
Status
checked

Supports: Complex.mul_sub_one_geom 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.mul_sub_one_geom 2>/dev/null | grep -cE '^Complex\.mul_sub_one_geom[[:space:]]'
Evidence notes

`build_complex_prelude` admits Complex.mul_sub_one_geom 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 (extended 2026-08-25); 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) -- the same resource-limit gotcha documented for `prelude_theorem_inventory --include-constructed`.

footprint-Complex.mul_sub_one_geom

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the Complex prelude's trusted surface is empty

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` 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). That bounds every individual Complex theorem's footprint by [], since a theorem cannot depend on a trusted declaration the environment does not contain, and the enumeration covers Axiom, Opaque AND Quotient, not just Declaration::Axiom. `--include-constructed` is REQUIRED here -- without it `--require-axiom-free complex` is an error (verified: exit 1, '"complex" is not enumerated by this run'), not a silent pass, because complex is not built at all without the flag; this is the standing trap of an empty/absent result reading as a strong negative when the tool was never pointed at the subject.

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 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()) -- no in-tree example prints Complex/CPoint theorem types; crates/ source was not touched to produce this batch."
}