Identifier
F:int-characterization-categorical-at-int
Proof route
kernel-lean
External status
Not recorded
Axiom footprint
Empty

Recorded description

MECHANICALLY GENERATED, UNREVIEWED PROSE -- this sentence deliberately makes NO mathematical characterisation of the theorem. What is asserted, and all that is asserted, is this: the kernel declaration `Int.Characterization.categorical_at_int` is a `Declaration::Theorem` admitted into the environment by `build_int_prelude` through the trusted `Kernel::add_declaration` gate, which re-derives its type from its proof term; its type is recorded verbatim in `formal.statement`; and its axiom footprint, as computed by `Kernel::axiom_footprint`, is empty. The authoritative content of this fact is `formal.statement`. A human-readable characterisation of what Int.Characterization.categorical_at_int SAYS has not been supplied, because a generator cannot supply one honestly -- see `notes`.

Formal statement
theorem Int.Characterization.categorical_at_int : And (And (Eq.{1} Int (Int.Characterization.iter.{1} Int Int.zero (fun (x0 : Int) => Int.add x0 Int.one) (fun (x0 : Int) => Int.add x0 (Int.neg Int.one)) Int.zero) Int.zero) (And (((x0 : Int) -> Eq.{1} Int (Int.Characterization.iter.{1} Int Int.zero (fun (x1 : Int) => Int.add x1 Int.one) (fun (x1 : Int) => Int.add x1 (Int.neg Int.one)) (Int.add x0 Int.one)) ((fun (x1 : Int) => Int.add x1 Int.one) (Int.Characterization.iter.{1} Int Int.zero (fun (x1 : Int) => Int.add x1 Int.one) (fun (x1 : Int) => Int.add x1 (Int.neg Int.one)) x0)))) (((x0 : Int) -> Eq.{1} Int (Int.Characterization.iter.{1} Int Int.zero (fun (x1 : Int) => Int.add x1 Int.one) (fun (x1 : Int) => Int.add x1 (Int.neg Int.one)) (Int.add x0 (Int.neg Int.one))) ((fun (x1 : Int) => Int.add x1 (Int.neg Int.one)) (Int.Characterization.iter.{1} Int Int.zero (fun (x1 : Int) => Int.add x1 Int.one) (fun (x1 : Int) => Int.add x1 (Int.neg Int.one)) x0)))))) (And (((x0 : Int) -> ((x1 : Int) -> ((x2 : Eq.{1} Int (Int.Characterization.iter.{1} Int Int.zero (fun (x2 : Int) => Int.add x2 Int.one) (fun (x2 : Int) => Int.add x2 (Int.neg Int.one)) x0) (Int.Characterization.iter.{1} Int Int.zero (fun (x2 : Int) => Int.add x2 Int.one) (fun (x2 : Int) => Int.add x2 (Int.neg Int.one)) x1)) -> Eq.{1} Int x0 x1)))) (((x0 : Int) -> Exists.{1} Int (fun (x1 : Int) => Eq.{1} Int (Int.Characterization.iter.{1} Int Int.zero (fun (x2 : Int) => Int.add x2 Int.one) (fun (x2 : Int) => Int.add x2 (Int.neg Int.one)) x1) x0))))

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 integers is ass Addition on the integers is com Every integer has an additive i Adding zero to an integer is th [generated] kernel theorem Int. [generated] kernel theorem Int. [generated] kernel theorem Int. Mathlib v4.30 source propositio Current fact
10 direct dependencies 0 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Int.Characterization.categorical_at_int

Kind
kernel-term
Status
checked

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

Two independent failure modes, so the exit status depends on the finding rather than on the run completing: theorem_dependency_inventory exits non-zero when a NAMED filter matches nothing, and grep -c exits 1 printing 0 when the anchored line is absent. Anchored with [[:space:]], never \t -- in a scripted (GNU) grep \t is a literal t. grep -c rather than grep -q, which would SIGPIPE the producer under pipefail. --release is MANDATORY: this tool builds creal/complex/cpoint, which overflow the default debug thread stack.

footprint-Int.Characterization.categorical_at_int

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the integer prelude's trusted surface is empty, which bounds Int.Characterization.categorical_at_int.

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

--require-axiom-free exits non-zero when the named prelude's trusted surface (Axiom + Opaque + Quotient) is not empty, and errors rather than silently passing for a prelude the run never built. A declaration cannot depend on a trusted declaration the environment does not contain, so an empty integer surface bounds every declaration in it, including Int.Characterization.categorical_at_int. This is a whole-prelude bound, not a per-declaration measurement; the per-declaration figure is the footprint column of kernel_declaration_projection, measured 0 for this row.

Provenance

{
  "date": "2026-08-27",
  "curation": "generated-unreviewed",
  "generated_by": "scripts/gen-kernel-facts.py",
  "established_by": "axeyum-lean-kernel build_int_prelude (crates/axeyum-lean-kernel/src/int_prelude/)",
  "source": "Derived mechanically from the unfiltered emit of `cargo run -q --release -p axeyum-lean-kernel --example kernel_declaration_projection`, which prints one TSV row per declaration whose fields are (prelude, kind, display name, axiom-footprint size, direct type declarations, direct declarations, direct theorems, Kernel::render_lean(declaration.ty())). formal.statement is that last field verbatim; depends_on is the direct-theorem column intersected with this ledger's registered facts; axiom_footprint is the footprint-size column, cross-checked by the whole-prelude nat_axiom_inventory run recorded in the second evidence row. No field was hand-transcribed and no prose was authored."
}