Identifier
F:complex-factorquotient-degreelt
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For any coefficient function c, root candidate a, and n : Nat: polyDegreeLt (factorQuotient c a n) n -- the computed synthetic-division quotient satisfies the degree bound the factor theorem needs. The proof rebuilds factorQuotient's own Nat.rec shape (motive/base/step) so the ascribed Equiv is defeq to 'Equiv (factorQuotient c a n k) zero' for k >= n, transported through the forced-zero base case discussed in F:complex-factorquotient's own notes.

Formal statement
theorem Complex.factorQuotient_degreeLt : ((x0 : ((x0 : AxNat) -> Complex)) -> ((x1 : Complex) -> ((x2 : AxNat) -> Complex.polyDegreeLt (Complex.factorQuotient x0 x1 x2) x2)))

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. CReal.Equiv-lifted equivalence [generated] kernel theorem Nat. Current fact
2 direct dependencies 0 direct dependents

Evidence

kernel-Complex.factorQuotient_degreeLt

Kind
kernel-term
Status
checked

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

The producing prelude admits Complex.factorQuotient_degreeLt through the trusted Kernel::add_declaration gate, which re-checks the proof term against the stated type. theorem_dependency_inventory exits non-zero for a named filter matching nothing (a deleted/renamed theorem cannot read as a re-derived one), and grep -c (never -q) both avoids a SIGPIPE-under-pipefail false negative and independently asserts the exact tab-anchored line is present. --release is MANDATORY: this tool also builds creal/complex/cpoint, which overflow the default debug thread stack.

footprint-Complex.factorQuotient_degreeLt

Kind
exhaustive-enumeration
Status
checked

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

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

Re-measured on this tree: complex: axiom=0 opaque=0 quotient=0 total_trusted=0, exits 0 printing 'ok: complex trusted surface = 0'. That bounds every declaration in the complex environment, including Complex.factorQuotient_degreeLt, since a declaration cannot depend on a trusted declaration the environment does not contain. --require-axiom-free <name> errors for a prelude never built by this run rather than silently passing on zero rows. --release is MANDATORY here.

Provenance

{
  "date": "2026-08-27",
  "established_by": "axeyum-lean-kernel build_complex_prelude (crates/axeyum-lean-kernel/src/complex/poly.rs, declare_factor_quotient_degree_lt)",
  "source": "theorem name, canonical type and direct dependency edges read via theorem_dependency_inventory's own per-name output (cargo run -q --release -p axeyum-lean-kernel --example theorem_dependency_inventory -- <Name>), which prints '<Name>\\t<comma-separated direct deps>'; the canonical type itself was cross-extracted from kernel_declaration_projection's unfiltered TSV dump the same way as the Definition facts in this batch, and confirmed byte-for-byte identical between the two tools' output for every name in this batch. crates/ source was not touched to produce this batch."
}