Lean Kernel Arena / other/sparse-name-index

Test "other/sparse-name-index"

Expected: 馃憤 accept 路 Size: 292鈥疊 路 Lines: 4 路 lean4export: 0.1.0 路 Lean: 4.29.1 路 馃搫 Declaration

Lean4export will create internalization-table references contiguously in order: in references for names, il references for levels, and ie references for expressions all work this way.

However, the spec merely requires that these are integers. It's reasonable for an implementation to assume these are approximately dense (and to treat them as array indices instead of hashtable entries), but a kernel should handle skipped indices or out-of-order indices.

This test checks that a kernel doesn't require internalization-table references to be assigned sequentially starting from 1. If the "2" and "4" were replaced by "1" and "0", respectively, this would be the expected encoding of axiom foo : Prop. This encoding should be equivalent.

Checker Result 鈴憋笍 馃
sokonanoda 馃憤 1鈥痬s 34.0鈥疢B
mathgraph 馃憤 1鈥痬s 31.5鈥疢B
nanoclo 馃憤 1鈥痬s 29.5鈥疢B
con-ron 馃毇 23鈥痬s 59.0鈥疢B
nanobruijn 馃憤 0鈥痬s 3.5鈥疢B
nanoda 馃毇 0鈥痬s 2.8鈥疢B
lazylean 馃憤 1鈥痬s 21.7鈥疢B
con-leche 馃毇 4鈥痬s 16.2鈥疢B
eink0rn 馃憤 1鈥痬s 11.4鈥疢B
official 馃憤 28鈥痬s 65.3鈥疢B
ind-models 馃憤 100鈥痬s 102.9鈥疢B
lean4lean 馃憤 27鈥痬s 94.7鈥疢B
tenet 馃憤 91鈥痬s 43.7鈥疢B
tenet-hs 馃憤 1鈥痬s 7.8鈥疢B
lean4cobol 馃憤 1鈥痬s 13.1鈥疢B
evmlean 馃憤 1.0鈥痵 268.1鈥疢B
mini 馃憤 34鈥痬s 73.8鈥疢B
overfull 馃憤 824鈥痬s 45.9鈥疢B
metalean-slow 馃憤 29鈥痬s 69.3鈥疢B
tenet-jvm 馃憤 91鈥痬s 64.1鈥疢B
nanoclo-fortran 馃憤 1鈥痬s 4.4鈥疢B
kiota 馃憤 1鈥痬s 7.0鈥疢B
metalean-fast 馃憤 29鈥痬s 71.9鈥疢B
canonical-min 馃憤 389鈥痬s 1.1鈥疓B
rpylean 馃憤 0鈥痬s 3.8鈥疢B
vow-lean-kernel 馃憤 45鈥痬s 8.6鈥疢B
parse-only 馃憤 27鈥痬s 65.9鈥疢B