kernel-CReal.integral
- Kind
- kernel-term
- Status
- checked
Supports: CReal.integral is admitted by the trusted kernel gate with the type recorded in formal.statement.
cargo run -q --release -p axeyum-lean-kernel --example kernel_declaration_projection -- --require-declaration CReal.integral --require-kind definition 2>/dev/null | grep -cE '^found[[:space:]]creal[[:space:]]definition[[:space:]]CReal\.integral[[:space:]]' Evidence notes
UPGRADED from an indirect checker to a DIRECT one in the same batch that registered F:creal-e and the Ch.18/22-23 facts (see CLAUDE.md's brief for that batch). CReal.integral is a Declaration::Definition, not a Theorem, and theorem_dependency_inventory (like prelude_theorem_inventory and nat_theorem_inventory) deliberately excludes Definitions from its listing -- 'Definitions, inductives and axioms are excluded' is the tool's own stated contract -- so this fact previously checked CReal.integral's presence INDIRECTLY, via CReal.integral_const's own admission (declare_integral_const builds CReal.integral (fun _ => x0) x1 x2 x3 x4 as a 5-argument const_app, and the kernel can only admit that application by first resolving CReal.integral's own declared arrow type against it). That route worked but named the wrong subject in its own evidence id and forced a reader to know a second theorem's proof to trust this one. kernel_declaration_projection now takes '--require-declaration <name> [--require-kind <kind>]': it searches every constructed prelude's environment for an EXACT display-name match (of the given kind, when specified) and exits non-zero when none is found. Mutation-tested on an isolated /data0 snapshot (scripts/lane-snapshot.sh, never the shared checkout): renaming CReal.integral's display string to "integral_MUTATED" at crates/axeyum-lean-kernel/src/creal.rs:4389 made this exact check return count 0 / exit 1 in the rebuilt binary, while an unrelated control name (CReal.e) in the SAME rebuild still matched and exited 0 -- confirming the check discriminates on CReal.integral's own name, not on the build succeeding globally. --release is MANDATORY: this tool also builds creal/complex/cpoint, which overflow the default debug thread stack.