Typed Knowledge over Constructive Institutions
Abstract
Type theories designed for mathematics or program verification need only that a proposition holds; proof irrelevance in conversion erases, at the kernel level, how a claim was established. A persistent knowledge store, by contrast, must retain that record: who established a claim, by which derivation or external tool, and under which assumptions. This volume presents the theory of Eigenius---a store of typed knowledge over constructive institutions---and develops its metatheory from that requirement. The kernel theory is a dependent type theory with cumulative universes, an impredicative universe of propositions, inductive families, and an intensional identity type. Proof irrelevance is an axiom with an explicit witness rather than a conversion rule, so proofs of a proposition are provably equal yet remain distinct terms. Definitional equality is joinability under an orthogonal rewriting system---confluent, injective on type formers, and decidable by a type-free test---while a separate subsumption judgment covers universe cumulativity, codomain-covariant function types, and declared class inclusions. We prove consistency via a set-theoretic model; develop a justification logic over the kernel's propositions to track evidence and support; organize environments as an institution so that store extensions are signature morphisms and external verdicts enter via comorphisms; formulate a typed knowledge-graph theory with records, classes, and refinements; and prove the correctness of conversion, normalization by evaluation, and bidirectional type checking relative to termination. A Lean 4 formalization accompanies the volume.
Figures & tables
| Connective | Type | Universe of the type |
|---|---|---|
| , | ||
| , for every (impredicativity) | ||
| , | ||
| , inductive | ||
| , inductive | ||
| , inductive without constructors |
| \frac{\Gamma\vdash A:\mathrm{Sort}\,\ell_{1}\quad\Gamma,x{:}A\vdash B:\mathrm{Sort}\,\ell_{2}}{\Gamma\vdash\Pi x{:}A.\,B:\mathrm{Sort}\,(\mathsf{imax}\,\ell_{1}\,\ell_{2})}\quad\textsc{right={\Pi-F}}\frac{\Gamma,x{:}A\vdash b:B}{\Gamma\vdash\lambda x{:}A.\,b:\Pi x{:}A.\,B}\quad\textsc{right={\Pi-I}}\frac{\Gamma\vdash f:\Pi x{:}A.\,B\quad\Gamma\vdash a:A}{\Gamma\vdash f\,a:B[a/x]}\quad\textsc{right={\Pi-E}}\\ \frac{}{(\lambda x{:}A.\,b)\,a\longrightarrow b[a/x]}\quad\textsc{right={\Pi\beta}}\\ \frac{\Gamma\vdash A:\mathrm{Sort}\,\ell_{1}\quad\Gamma,x{:}A\vdash B:\mathrm{Sort}\,\ell_{2}}{\Gamma\vdash\Sigma x{:}A.\,B:\mathrm{Sort}\,(\mathsf{max}\,\ell_{1}\,\ell_{2})}\quad\textsc{right={\Sigma-F}}\frac{\Gamma\vdash a:A\quad\Gamma\vdash b:B[a/x]\quad\Gamma,x{:}A\vdash B:\mathrm{Sort}\,\ell}{\Gamma\vdash\langle a,b\rangle:\Sigma x{:}A.\,B}\quad\textsc{right={\Sigma-I}}\\ \frac{\Gamma\vdash p:\Sigma x{:}A.\,B}{\Gamma\vdash\mathsf{fst}\,p:A}\quad\textsc{right={\Sigma{}{1}}}\frac{\Gamma\vdash p:\Sigma x{:}A.\,B}{\Gamma\vdash\mathsf{snd}\,p:B[\mathsf{fst}\,p/x]}\quad\textsc{right={\Sigma{}{2}}}\\ \frac{}{\mathsf{fst}\,\langle a,b\rangle\longrightarrow a\\ \mathsf{snd}\,\langle a,b\rangle\longrightarrow b}\quad\textsc{right={\Sigma\beta}} |
| \frac{\Gamma\ \mathsf{ctx}\quad\mathrm{FV}_{\mathrm{lvl}}(\ell)\subseteq\bar{u}}{\Gamma\vdash\mathrm{Sort}\,\ell:\mathrm{Sort}\,(\mathsf{s}\,\ell)}\quad\textsc{right={Sort}}\frac{\ell\simeq\ell^{\prime}}{\mathrm{Sort}\,\ell\equiv\mathrm{Sort}\,\ell^{\prime}}\quad\textsc{right={Sort-\equiv}}\frac{\Gamma\vdash A:\mathrm{Sort}\,\ell\quad\Gamma,x{:}A\vdash P:\mathrm{Prop}}{\Gamma\vdash\Pi x{:}A.\,P:\mathrm{Prop}}\quad\textsc{right={\Pi-Prop}} |
| \frac{A\equiv B\quad\Gamma\vdash A:\mathrm{Sort}\,\ell\quad\Gamma\vdash B:\mathrm{Sort}\,\ell^{\prime}}{\Gamma\vdash A\leq B}\quad\textsc{right={S-Conv}}\frac{\Gamma\ \mathsf{ctx}\quad m\leq_{\mathrm{c}}n\quad\mathrm{FV}_{\mathrm{lvl}}(m,n)\subseteq\bar{u}}{\Gamma\vdash\mathrm{Sort}\,m\leq\mathrm{Sort}\,n}\quad\textsc{right={S-Cum}}\\ \frac{\Gamma\vdash A\leq B\quad\Gamma\vdash B:\mathrm{Sort}\,\ell\quad\Gamma\vdash B\leq C}{\Gamma\vdash A\leq C}\quad\textsc{right={S-Trans}}\\ \frac{A\equiv A^{\prime}\quad\Gamma,x{:}A^{\prime}\vdash B\leq B^{\prime}\quad\quad\Gamma\vdash\Pi x{:}A.\,B:\mathrm{Sort}\,\ell\quad\Gamma\vdash\Pi x{:}A^{\prime}.\,B^{\prime}:\mathrm{Sort}\,\ell^{\prime}}{\Gamma\vdash\Pi x{:}A.\,B\leq\Pi x{:}A^{\prime}.\,B^{\prime}}\quad\textsc{right={S-\Pi}} |
| \frac{\Gamma\vdash A:\mathrm{Sort}\,\ell\quad\Gamma\vdash a:A\quad\Gamma\vdash b:A}{\Gamma\vdash\mathsf{Id}\,A\,a\,b:\mathrm{Prop}}\quad\textsc{right={Id-F}}\frac{\Gamma\vdash a:A}{\Gamma\vdash\mathsf{refl}\,a:\mathsf{Id}\,A\,a\,a}\quad\textsc{right={Id-I}}\\ \frac{\Gamma\vdash C:\Pi y{:}A.\,\mathsf{Id}\,A\,a\,y\to\mathrm{Sort}\,v\quad\Gamma\vdash d:C\,a\,(\mathsf{refl}\,a)\quad\Gamma\vdash b:A\quad\Gamma\vdash p:\mathsf{Id}\,A\,a\,b}{\Gamma\vdash\mathsf{J}\,a\,C\,d\,b\,p:C\,b\,p}\quad\textsc{right={Id-E}}\\ \frac{}{\mathsf{J}\,a\,C\,d\,b\,(\mathsf{refl}\,a^{\prime})\longrightarrow d}\quad\textsc{right={Id-\iota}} |
| \frac{}{\cdot\ \mathsf{wf}}\quad\textsc{right={E-Empty}}\frac{\mathcal{S}\ \mathsf{wf}\quad c\notin\mathcal{S}\quad\mathcal{S};\cdot\vdash_{\bar{u}}A:\mathrm{Sort}\,\ell}{\mathcal{S},\mathsf{axiom}\ c.\{\bar{u}\}:A\ \mathsf{wf}}\quad\textsc{right={E-Ax}}\frac{\mathcal{S}\ \mathsf{wf}\quad c\notin\mathcal{S}\quad\mathcal{S};\cdot\vdash_{\bar{u}}A:\mathrm{Sort}\,\ell\quad\mathcal{S};\cdot\vdash_{\bar{u}}t:A}{\mathcal{S},\mathsf{def}\ c.\{\bar{u}\}:A:=t\ \mathsf{wf}}\quad\textsc{right={E-Def}}\frac{\mathcal{S}\ \mathsf{wf}\quad D,\bar{c},\mathsf{rec}_{D}\notin\mathcal{S}\quad\text{the declaration is admissible in }\mathcal{S}}{\mathcal{S},\mathsf{inductive}\ D.\{\bar{u}\}\ldots\ \mathsf{wf}}\quad\textsc{right={E-Ind}}\\ \frac{\Gamma\ \mathsf{ctx}\quad(c.\{\bar{u}\}:A)\in\mathcal{S}\quad|\bar{\ell}|=|\bar{u}|\quad\mathrm{FV}_{\mathrm{lvl}}(\bar{\ell})\subseteq\bar{v}}{\Gamma\vdash_{\bar{v}}c.\{\bar{\ell}\}:A[\bar{\ell}/\bar{u}]}\quad\textsc{right={Const}}\frac{(\mathsf{def}\ c.\{\bar{u}\}:A:=t)\in\mathcal{S}\text{ transparent}}{c.\{\bar{\ell}\}\longrightarrow t[\bar{\ell}/\bar{u}]}\quad\textsc{right={\delta}} |
| MLTT (1984) | ECC | CIC (Coq) | Lean 4 kernel | This chapter | |
|---|---|---|---|---|---|
| Impredicative | no | yes | yes | yes | yes |
| Cumulativity | yes ( ) | yes, | yes | no | yes, from upward |
| Structural subsumption | none | codomain; both | codomain; cumulative inductives | none | codomain; no |
| Universe polymorphism | no | no | yes | yes | yes |
| Inductive families | fixed set formers, W-types | no | yes | yes | yes, strictly positive, not nested |
| Identity type | primitive, extensional | none (Leibniz equality) | inductive, in | inductive, in | primitive, in |
| Left out | Constructs | Treated in |
|---|---|---|
| Program constructs | component calls, mapping and reduction combinators, templates, institution invocation | Volume IV (ESL, the runtime) |
| Knowledge-graph types | record types, refinement types, class types, primitive types and literals, property access, record construction, native decision procedures, apartness | Chapter 5 |
| Institution-facing references | axioms anchored on the chain, references to externally checked propositions | Chapter 4 ; Volume II |
| General recursion | recursive definitions not reducible to recursors | excluded from the theory |
| Coercive subtyping with computing coercions | dot-types, changes of representation | Volume III, as an elaboration-level extension |
| Obligation | Status | Where |
|---|---|---|
| Kernel signature morphisms preserve all judgments | proved | Lemma 4.12 |
| Reflexivity, monotonicity, transitivity, -translation | proved | Lemmas 4.16 – 4.19 |
| functorial on ; natural | proved | Lemma 4.20 |
| The kernel is a compact proof calculus with Tarskian | proved | Theorem 4.21 |
| Weakening, substitution, level instantiation | cited | Chapter 2 |
| Quotienting witnesses by provable identity collapses to | proved | Proposition 4.22 |
| # | Definition | Source | Used in |
|---|---|---|---|
| 1 | type system; witness judgment | App. A2.1 cl. 1–4; A3.2; Ch. 1 §1.3 | KG, P |
| 2 | basic types | App. A2.1; A3.2 cl. 1–3 | KG, P |
| 3 | ptypes | App. A3.1; A3.2 cl. 5–8 | P; KG (§ 41 ) |
| 4 | record types | App. A1; A11.2 cl. 1, 3, 5, 7 | KG, P |
| 5 | records; membership | App. A11.1; A11.2 cl. 2, 4, 6, 8 | KG, P |
| 6 | dependent fields; dependency families | App. A11.2 (dependent) cl. 1–2; A11.6 | KG, P |
| Typed feature structures | TTR | Knowledge graph |
|---|---|---|
| type hierarchy (bounded-complete partial order) | subtyping between named types | class hierarchy (a preorder) |
| appropriateness | the record type of a named type | : required properties and their field types |
| feature introduction | width inheritance along | requirement inheritance (Definition 5.23 ) |
| well-typed; totally well-typed | for record types | structural membership; totality: all required fields present |
| subsumption , the more general structure on the left | subtyping , the more specific type on the left | width subtyping |
| unification; failure | meet of record types; uninhabited meet | refinement (Definition 5.34 ) |
| join of singletons | labeled sum (inductive) | |
|---|---|---|
| values | the IRIs themselves | new constructors |
| relation to | subtype, identity coercion | separate type; computes |
| , unrelated | ||
| distinctness | Lemma 5.41 , from | built in (no confusion) |
| elimination | tests and Theorem 5.43 | recursor, match |
| Level | Judgment or proposition | Character |
|---|---|---|
| declared | intensional; decidable | |
| structural | extensional over fields; decidable (Proposition 5.31 ) | |
| propositional | , | a claim: can be hypothesized, proved, grounded |
| Framework | Shared | Deltas |
|---|---|---|
| TTR | records, record types, singletons, meets, joins, dependent fields, intensional types (Section 35 ) | embedded in a dependent type theory with ; record types as canonical telescopes; width and depth as subsumption rules; membership as a greatest fixed point over a graph |
| Typed feature structures; HPSG | appropriateness, feature introduction, total well-typedness, unification as meet (Section 36 ) | reversed naming of the order; open, not closed; no depth refinement per class; reentrancy only by reference |
| Luo: common nouns as types; coercive subtyping; dependent record types | classes as types; subsumption between classes; -like records | identity-coercion fragment only; no computing coercions |
| RDF, RDFS, OWL; description logic | as concept inclusion; EquivalentClasses as concept equivalence; a required property as ; open world as width membership | domain rejects a field instead of inferring membership; membership requires a declaration; no property-level reasoning (Appendix 5.A ) |
| SHACL | required properties as minimum cardinality one; value types; validation that rejects | shapes are separate from classes; here the class is the shape |
| Barlatier–Dapoigny | ontologies on dependent record types | classes are named (intensional) types; membership has a declared component |
| \frac{(x{:}T)\in\Gamma}{\Gamma\vdash x\Rightarrow_{\mathsf{a}}T}\quad\textsc{right={A-Var}}\frac{\mathrm{FV}_{\mathrm{lvl}}(\ell)\subseteq\bar{u}}{\Gamma\vdash\mathrm{Sort}\,\ell\Rightarrow_{\mathsf{a}}\mathrm{Sort}\,(\mathsf{s}\,\ell)}\quad\textsc{right={A-Sort}}\frac{(c.\{\bar{u}\}:A)\in\mathcal{S}\quad|\bar{\ell}|=|\bar{u}|\quad\mathrm{FV}_{\mathrm{lvl}}(\bar{\ell})\subseteq\bar{v}}{\Gamma\vdash c.\{\bar{\ell}\}\Rightarrow_{\mathsf{a}}|A|[\bar{\ell}/\bar{u}]}\quad\textsc{right={A-Const}}\\ \frac{\Gamma\vdash A\Rightarrow_{\mathsf{a}}C_{1}\quad C_{1}\searrow\mathrm{Sort}\,\ell_{1}\quad\Gamma,x{:}|A|\vdash B\Rightarrow_{\mathsf{a}}C_{2}\quad C_{2}\searrow\mathrm{Sort}\,\ell_{2}}{\Gamma\vdash\Pi x{:}A.\,B\Rightarrow_{\mathsf{a}}\mathrm{Sort}\,(\mathsf{imax}\,\ell_{1}\,\ell_{2})}\quad\textsc{right={A-\Pi}}\frac{\Gamma\vdash A\Rightarrow_{\mathsf{a}}C\quad C\searrow\mathrm{Sort}\,\ell\quad\Gamma,x{:}|A|\vdash b\Rightarrow_{\mathsf{a}}B}{\Gamma\vdash\lambda x{:}A.\,b\Rightarrow_{\mathsf{a}}\Pi x{:}|A|.\,B}\quad\textsc{right={A-Lam}}\\ \frac{\Gamma\vdash f\Rightarrow_{\mathsf{a}}C\quad C\searrow\Pi x{:}A.\,B\quad\Gamma\vdash a\Leftarrow_{\mathsf{a}}A}{\Gamma\vdash f\,a\Rightarrow_{\mathsf{a}}B[|a|/x]}\quad\textsc{right={A-App}}\frac{\Gamma\vdash p\Rightarrow_{\mathsf{a}}C\quad C\searrow\Sigma x{:}A.\,B}{\Gamma\vdash\mathsf{fst}\,p\Rightarrow_{\mathsf{a}}A}\quad\textsc{right={A-Fst}}\frac{\Gamma\vdash p\Rightarrow_{\mathsf{a}}C\quad C\searrow\Sigma x{:}A.\,B}{\Gamma\vdash\mathsf{snd}\,p\Rightarrow_{\mathsf{a}}B[\mathsf{fst}\,|p|/x]}\quad\textsc{right={A-Snd}}\\ \frac{\Gamma\vdash A\Rightarrow_{\mathsf{a}}C\quad C\searrow\mathrm{Sort}\,\ell\quad\Gamma\vdash a\Leftarrow_{\mathsf{a}}|A|\quad\Gamma\vdash b\Leftarrow_{\mathsf{a}}|A|}{\Gamma\vdash\mathsf{Id}\,A\,a\,b\Rightarrow_{\mathsf{a}}\mathrm{Prop}}\quad\textsc{right={A-Id}}\frac{\Gamma\vdash A\Rightarrow_{\mathsf{a}}C\quad C\searrow\mathrm{Sort}\,\ell\quad\Gamma\vdash a\Leftarrow_{\mathsf{a}}|A|}{\Gamma\vdash(a:A)\Rightarrow_{\mathsf{a}}|A|}\quad\textsc{right={A-Ann}}\\ \frac{\Gamma\vdash C\Rightarrow_{\mathsf{a}}T\quad T\searrow\Pi y{:}A.\,T_{1}\quad T_{1}\searrow\Pi z{:}T_{2}.\,T_{3}\quad\quad T_{2}\searrow\mathsf{Id}\,A^{\prime}\,a^{\prime}\,y^{\prime}\quad T_{3}\searrow\mathrm{Sort}\,v\quad A^{\prime}\Leftrightarrow_{\mathsf{a}}A\quad y^{\prime}\Leftrightarrow_{\mathsf{a}}y\quad\quad\Gamma\vdash a\Leftarrow_{\mathsf{a}}A\quad a^{\prime}\Leftrightarrow_{\mathsf{a}}|a|\quad\Gamma\vdash b\Leftarrow_{\mathsf{a}}A\quad\quad\Gamma\vdash d\Leftarrow_{\mathsf{a}}|C|\,|a|\,(\mathsf{refl}\,|a|)\quad\Gamma\vdash p\Leftarrow_{\mathsf{a}}\mathsf{Id}\,A\,|a|\,|b|}{\Gamma\vdash\mathsf{J}\,a\,C\,d\,b\,p\Rightarrow_{\mathsf{a}}|C|\,|b|\,|p|}\quad\textsc{right={A-J}} |
| \frac{C\searrow\Pi x{:}A^{\prime}.\,B\quad\Gamma\vdash A\Rightarrow_{\mathsf{a}}D\quad D\searrow\mathrm{Sort}\,\ell\quad|A|\Leftrightarrow_{\mathsf{a}}A^{\prime}\quad\Gamma,x{:}|A|\vdash b\Leftarrow_{\mathsf{a}}B}{\Gamma\vdash\lambda x{:}A.\,b\Leftarrow_{\mathsf{a}}C}\quad\textsc{right={A-Chk-Lam}}\frac{C\searrow\Sigma x{:}A.\,B\quad\Gamma\vdash a\Leftarrow_{\mathsf{a}}A\quad\Gamma\vdash b\Leftarrow_{\mathsf{a}}B[|a|/x]}{\Gamma\vdash\langle a,b\rangle\Leftarrow_{\mathsf{a}}C}\quad\textsc{right={A-Chk-Pair}}\\ \frac{C\searrow\mathsf{Id}\,A\,x\,y\quad\Gamma\vdash a\Leftarrow_{\mathsf{a}}A\quad x\Leftrightarrow_{\mathsf{a}}|a|\quad|a|\Leftrightarrow_{\mathsf{a}}y}{\Gamma\vdash\mathsf{refl}\,a\Leftarrow_{\mathsf{a}}C}\quad\textsc{right={A-Chk-Refl}}\frac{\Gamma\vdash a\Rightarrow_{\mathsf{a}}A\quad A\leq_{\mathsf{a}}C}{\Gamma\vdash a\Leftarrow_{\mathsf{a}}C}\quad\textsc{right={A-Chk-Sub}}\\ \frac{A\Leftrightarrow_{\mathsf{a}}B}{A\leq_{\mathsf{a}}B}\quad\textsc{right={A-Sub-Conv}}\frac{A\searrow\mathrm{Sort}\,m\quad B\searrow\mathrm{Sort}\,n\quad m\leq_{\mathrm{c}}n}{A\leq_{\mathsf{a}}B}\quad\textsc{right={A-Sub-Cum}}\frac{A\searrow\Pi x{:}A_{1}.\,B_{1}\quad B\searrow\Pi x{:}A_{2}.\,B_{2}\quad A_{1}\Leftrightarrow_{\mathsf{a}}A_{2}\quad B_{1}\leq_{\mathsf{a}}B_{2}}{A\leq_{\mathsf{a}}B}\quad\textsc{right={A-Sub-\Pi}} |
| Result | Status |
|---|---|
| Weak-head reduction is deterministic; stability of weak-head normal forms | proved (Lemmas 6.3 , 6.4 ) |
| Conversion test sound, complete relative to termination | proved (Theorem 6.7 (1), (2)) |
| Normalization by evaluation sound, complete on | proved (Theorem 6.11 ) |
| Inversion lemmas | proved (Section 5 ) |
| Type checker sound, complete relative to termination | proved (Theorems 6.16 , 6.17 ; Proposition 6.20 ) |
| Properties of the checker for Chapters 3 and 4 | proved (Proposition 6.21 ) |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Atomic Data | Data model | Theory |
|---|---|---|
| resource (subject URL) | resource ( urn: IRI) | record (Section 39 ) |
| Property (requires shortname , datatype , description ; recommends classtype , allows-only , …) | property declaration | a label with its field type |
| datatype : slug, atomicURL, URI, string, markdown, integer, float, boolean, date, timestamp, resourceArray, json, ydoc | data_type (with format , content_type ) | basic types (Definition 5.3 ) |
| resourceArray | list-valued property | list type (Definition 5.11 ) |
| classtype : one class, for atomicURL or resourceArray values | class_types : one or several classes | a class type; several give a join (Section 40 ) |
| allows-only : a resourceArray of allowed values | allows_only | join of singletons; values compared by IRI, as tags (Section 40 ) |
| RDFS / OWL / schema.org | Data model | Theory |
|---|---|---|
| rdfs:subClassOf | core:subclass_of (absent in Atomic Data) | declared subsumption between named types; requirement inheritance (Section 38 ) |
| owl:equivalentClass | core:EquivalentClasses , an -ary resource listing core:classes | mutual subsumption; equal record types, distinct classes (Corollary 5.25 ) |
| rdfs:domain (restrictive) | core:domain | bound on width (Definition 5.36 ) |
| schema.org domainIncludes (advisory) | core:recommends on each domain class | admitted by width; not in the type |
| rdfs:range , rangeIncludes over classes | class_types | class type, or join of classes |
| owl:oneOf ; schema.org enumeration members | allows_only , with class_types for an enumeration class | join of singletons met with the class type |
| Book | Lean | Module | Status |
|---|---|---|---|
| Definition 2.7 | Level , Level.eval , the Preorder instance, the Setoid instance, the order of cumulativity Level.CumLe | Level | definition |
| Proposition 2.8 | Level.succ_congr , max_congr , imax_congr , imax_zero , imax_succ , inst_le_inst , inst_congr ; for , CumLe.refl , CumLe.trans , CumLe.le , CumLe.of_le , CumLe.inst , cumLe_zero_iff , not_cumLe_zero_succ | Level | proved |
| Definition 2.1 | Term | Term | definition |
| Definition 2.2 | Term.liftN , Term.inst , Term.instL , Level.inst , with the lifting and substitution lemmas | Term | definition |
| The rules and as an interface to reduction (Definitions 2.25 and 2.18 ) | RuleSet : shape, determinism, closure under liftN , inst , and instL | Reduction | definition |
| Definition 2.5 , one-step reduction and | RuleSet.Red , RuleSet.RedStar ; parallel reduction RuleSet.Par with Par.liftN , Par.inst , Red.toPar , Par.toRedStar | Reduction | definition |
| Book | Lean | Module | Status |
|---|---|---|---|
| Definition 3.14 | JTerm , Leaf , JTerm.leaves | Terms | definition |
| Conventions of Section 19 | PropositionSystem | Kernel | interface |
| Definition 3.15 | ConstantSpec , ConstantSpec.Admitted | Kernel | definition |
| Definition 3.17 | ConstantSpec.evid | Evidence | definition |
| Lemma 3.18 | ConstantSpec.card_evid_le | Evidence | proved |
| Definition 3.20 | ConstantSpec.JB | Evidence | definition |
| Book | Lean | Module | Status |
|---|---|---|---|
| Definition 4.1 | Institution | Basic | definition |
| Definition 4.2 (b) | Institution.Comorphism | Basic | definition |
| Semantic consequence, after Definition 4.1 | Institution.SemCons | Basic | definition |
| Definition 4.3 | EntailmentSystem | Entailment | definition |
| Closure function, Remark 2 after Definition 4.3 | EntailmentSystem.clo and its laws | Entailment | proved |
| Definition 4.5 | Logic , Logic.toInstitution , Logic.semCons , Logic.Complete | Logic | definition |
| Book | Lean | Module | Status |
|---|---|---|---|
| Definition 5.1 | Value , FieldType , RecType , KGraph | Graph | definition |
| Definition 5.23 | KGraph.DeclSub , Anc , Eqv , Req , RC , CondReqs | Graph | definition |
| Theorem 5.24 | req_mono , rsub_RC_of_anc | Graph | proved |
| Corollary 5.25 | RC_eq_of_eqv | Graph | proved |
| Definition 5.29 | KGraph.VTy , RecTy , CondTy | Graph | definition |
| Definition 5.30 | Declared , Structural , phi , Member , Mem | Graph | definition |
| Book | Lean | Module | Status |
|---|---|---|---|
| Section 1 , erasures | RuleSet.DefEq.erase_iff | TypeTheory/AnnotatedReduction | proved |
| Section 1 , strong normalization | SN , SN.red , SN.of_mem_comps , SN.acc_desc | Conversion | definition, proved |
| Definition 6.2 | WhStep , WHShape , whStrategy , Env.rules_whShape , Env.whStrategy | WeakHead , EnvShape | definition, proved |
| Lemma 6.3 | WhStep.toRed , WhStep.det | WeakHead | proved |
| Lemma 6.4 | Rigid , Whnf.rigid | Conversion , WeakHead | proved |
| Corollary 6.5 | Rigid.join , Rigid.defEq_iff | Conversion | proved |