Identifier
F:creal-polydegreelt-polyscale
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

If polyDegreeLt c n then polyDegreeLt (polyScale s c) n for any scalar s -- scaling a coefficient function never raises its degree bound.

Formal statement
theorem CReal.polyDegreeLt_polyScale : ((x0 : CReal) -> ((x1 : ((x1 : AxNat) -> CReal)) -> ((x2 : AxNat) -> ((x3 : CReal.polyDegreeLt x1 x2) -> ((x4 : AxNat) -> ((x5 : AxNat.le x2 x4) -> CReal.Equiv (CReal.mul x0 (x1 x4)) CReal.zero))))))

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 is reflexive CReal.Equiv is transitive Multiplication on the construct Zero annihilates multiplication Current fact
4 direct dependencies 0 direct dependents

Evidence

kernel-CReal.polyDegreeLt_polyScale

Kind
kernel-term
Status
checked

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

The producing prelude admits CReal.polyDegreeLt_polyScale 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-CReal.polyDegreeLt_polyScale

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the creal prelude's trusted surface is empty, which bounds CReal.polyDegreeLt_polyScale

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

Re-measured on this tree: creal: axiom=0 opaque=0 quotient=0 total_trusted=0, exits 0 printing 'ok: creal trusted surface = 0'. That bounds every declaration in the creal environment, including CReal.polyDegreeLt_polyScale, 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_creal_prelude (crates/axeyum-lean-kernel/src/creal/polynomial.rs, declare_poly_degree_lt_poly_scale)",
  "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."
}