Vec, Fin, and valid case trees
For 𝐴 :U𝑖 the indexed family is formed and introduced by Γ⊢𝐴:U𝑖Γ⊢𝑛:ℕΓ⊢𝖵𝖾𝖼(𝐴,𝑛):U𝑖Vec−form Γ⊢𝐴:U𝑖Γ⊢𝗏𝗇𝗂𝗅:𝖵𝖾𝖼(𝐴,𝟢)Vec−intro0 Γ⊢𝑛:ℕΓ⊢𝑎:𝐴Γ⊢𝑥𝑠:𝖵𝖾𝖼(𝐴,𝑛)Γ⊢𝗏𝖼𝗈𝗇𝗌(𝑛,𝑎,𝑥𝑠):𝖵𝖾𝖼(𝐴,𝗌𝗎𝖼(𝑛))Vec−intros. Writing 𝑃0 =𝑃(𝟢,𝗏𝗇𝗂𝗅) and 𝑃𝑠 =𝑃(𝗌𝗎𝖼(𝑛),𝗏𝖼𝗈𝗇𝗌(𝑛,𝑎,𝑥𝑠)), elimination is Γ,𝑛:ℕ,𝑣:𝖵𝖾𝖼(𝐴,𝑛)⊢𝑃(𝑛,𝑣):U𝑗Γ⊢𝑝0:𝑃0Γ,𝑛:ℕ,𝑎:𝐴,𝑥𝑠:𝖵𝖾𝖼(𝐴,𝑛),𝑞:𝑃(𝑛,𝑥𝑠)⊢𝑝𝑠:𝑃𝑠Γ⊢𝑚:ℕΓ⊢𝑦𝑠:𝖵𝖾𝖼(𝐴,𝑚)Γ⊢𝗏𝗂𝗇𝖽(𝑃;𝑝0;𝑝𝑠;𝑚,𝑦𝑠):𝑃(𝑚,𝑦𝑠)Vec−elim. Its two computations are printed separately to expose their constructor premises. Abbreviate 𝑟𝑛,𝑥𝑠:=𝗏𝗂𝗇𝖽(𝑃;𝑝0;𝑝𝑠;𝑛,𝑥𝑠) and 𝑉𝑛,𝑎,𝑥𝑠:=𝗏𝗂𝗇𝖽(𝑃;𝑝0;𝑝𝑠;𝗌𝗎𝖼(𝑛),𝗏𝖼𝗈𝗇𝗌(𝑛,𝑎,𝑥𝑠)). Γ⊢𝑃 𝗆𝗈𝗍𝗂𝗏𝖾Γ⊢𝑝0:𝑃0Γ⊢𝗏𝗂𝗇𝖽(𝑃;𝑝0;𝑝𝑠;𝟢,𝗏𝗇𝗂𝗅)≡𝑝0:𝑃0Vec−comp1 Γ⊢𝑛:ℕΓ⊢𝑎:𝐴Γ⊢𝑥𝑠:𝖵𝖾𝖼(𝐴,𝑛)Γ⊢𝑉𝑛,𝑎,𝑥𝑠≡𝑝𝑠[𝑛,𝑎,𝑥𝑠,𝑟𝑛,𝑥𝑠]:𝑃𝑠Vec−comp2
𝖥𝗂𝗇ind has 𝖿𝗓(𝑛) :𝖥𝗂𝗇ind(𝗌𝗎𝖼(𝑛)) and 𝖿𝗌(𝑛,𝑘) :𝖥𝗂𝗇ind(𝗌𝗎𝖼(𝑛)) from 𝑘 :𝖥𝗂𝗇ind(𝑛). For 𝑄(𝑛,𝑘) :U𝑗, methods 𝑞𝑧:(𝑛:ℕ)→𝑄(𝗌𝗎𝖼(𝑛),𝖿𝗓(𝑛)),𝑞𝑠:(𝑛:ℕ)(𝑘:𝖥𝗂𝗇ind(𝑛))→𝑄(𝑛,𝑘)→𝑄(𝗌𝗎𝖼(𝑛),𝖿𝗌(𝑛,𝑘)). give the full elimination rule Γ,𝑛:ℕ,𝑘:𝖥𝗂𝗇ind(𝑛)⊢𝑄(𝑛,𝑘):U𝑗Γ⊢𝑞𝑧:(𝑛:ℕ)→𝑄(𝗌𝗎𝖼(𝑛),𝖿𝗓(𝑛))Γ⊢𝑞𝑠:(𝑛:ℕ)(𝑘:𝖥𝗂𝗇ind(𝑛))→𝑄(𝑛,𝑘)→𝑄(𝗌𝗎𝖼(𝑛),𝖿𝗌(𝑛,𝑘))Γ⊢𝑚:ℕΓ⊢𝑙:𝖥𝗂𝗇ind(𝑚)Γ⊢𝖿𝗂𝗇𝖽(𝑄;𝑞𝑧;𝑞𝑠;𝑚,𝑙):𝑄(𝑚,𝑙)Fin−elim. Its computations are 𝖿𝗂𝗇𝖽(𝑄;𝑞𝑧;𝑞𝑠;𝗌𝗎𝖼(𝑛),𝖿𝗓(𝑛))≡𝑞𝑧(𝑛),𝖿𝗂𝗇𝖽(𝑄;𝑞𝑧;𝑞𝑠;𝗌𝗎𝖼(𝑛),𝖿𝗌(𝑛,𝑘))≡𝑞𝑠(𝑛,𝑘,𝖿𝗂𝗇𝖽(𝑄;𝑞𝑧;𝑞𝑠;𝑛,𝑘)).
Put 𝖢𝗈𝗆𝗉C(𝑓′):=(⃗𝑡:Δ)(𝑢:𝑇).𝖢𝖳C(⃗𝑡,𝑢)→𝑓′⃗𝑡≡𝑢[𝑓′/𝑓]. The case-tree compiler has the theorem rule 𝑓:(⃗𝑡:Δ)→𝑇 has a valid case tree CC uses no deletionevery injectivity step first self-unifies the constructor index∃𝑓′:(⃗𝑡:Δ)→𝑇.𝖢𝗈𝗆𝗉C(𝑓′)Compile. Validity also includes well-typed leaves, dependency-preserving unifier factorizations, structural recursion, and the proof-relevant basic-analysis, specialization, and no-confusion transitions of definition 78.15. These are premises, not consequences of an unrestricted coverage checker.
For IR signatures, 𝗂𝗇𝗍𝗋𝗈 :𝖤𝑆(𝖨𝖱(𝑆),𝖤𝗅) →𝖨𝖱(𝑆) and 𝖤𝗅(𝗂𝗇𝗍𝗋𝗈(𝑥)) ≡𝖥𝑆(𝑥). IIR adds an index to 𝖨𝖱 and to the decoder. The context/type IIT has simultaneous 𝖢𝗈𝗇 and 𝖳𝗒 :𝖢𝗈𝗇 →U eliminators with the four computations for empty, extension, universe, and decoding recorded in section 78.5.
Pollack true records
Γ⊢𝐿 𝗍𝗒𝗉𝖾Γ,𝑙:𝐿⊢𝐴 𝗍𝗒𝗉𝖾Γ⊢⟨𝐿,𝑟:𝐴⟩ 𝗍𝗒𝗉𝖾Rec−form Γ⊢⟨𝐿,𝑟:𝐴⟩ 𝗍𝗒𝗉𝖾Γ⊢𝑙:𝐿Γ⊢𝑎:𝐴(𝑙)Γ⊢⟨𝑙,𝑟=𝑎⟩:⟨𝐿,𝑟:𝐴⟩Rec−intro. Restriction removes the visible field and projection returns it: Γ⊢𝑙:⟨𝐿,𝑟:𝐴⟩Γ⊢𝑙|𝑟:𝐿Rec−restΓ⊢𝑙:⟨𝐿,𝑟:𝐴⟩Γ⊢𝑙.𝑟:𝐴[𝑙|𝑟/𝑥]Rec−proj. The computation equations, including right-to-left passing, are ⟨𝑙,𝑟=𝑎⟩|𝑟≡𝑙,⟨𝑙,𝑟=𝑎⟩.𝑟≡𝑎,𝑙|𝑝≡(𝑙|𝑟)|𝑝(𝑟≠𝑝),𝑙.𝑝≡(𝑙|𝑟).𝑝(𝑟≠𝑝). The pass-typing schemas reconstruct the recursively established searched field type 𝑃: Γ⊢𝑙:⟨𝐿,𝑟:𝐴⟩Γ⊢(𝑙|𝑟)|𝑝:𝑃𝑟≠𝑝Γ⊢𝑙|𝑝:𝑃Rec−rest−pass Γ⊢𝑙:⟨𝐿,𝑟:𝐴⟩Γ⊢(𝑙|𝑟).𝑝:𝑃𝑟≠𝑝Γ⊢𝑙.𝑝:𝑃Rec−proj−pass. Repeated labels select the rightmost occurrence. There is no width rule and no judgmental record eta.
Regular and indexed description codes
The finite regular normal form has 𝗈𝗇𝖾, 𝖪(𝐴), 𝖷(𝑗), sum, product, and finite-tag 𝗌𝗂𝗀𝗆𝖺(𝐴,𝐹). For 𝑋 :𝐼 →U𝑖 its interpretation is [[𝗈𝗇𝖾]](𝑋):=𝟏,[[𝖪(𝐴)]](𝑋):=𝐴,[[𝖷(𝑗)]](𝑋):=𝑋(𝑗),[[𝐷+𝐸]](𝑋):=[[𝐷]](𝑋)+[[𝐸]](𝑋),[[𝐷×𝐸]](𝑋):=[[𝐷]](𝑋)×[[𝐸]](𝑋),[[𝗌𝗂𝗀𝗆𝖺(𝐴,𝐹)]](𝑋):=∑𝑎:𝐴[[𝐹(𝑎)]](𝑋). For 𝐷 :𝐼 →𝖣𝖾𝗌𝖼𝑖(𝐼), fixed-point formation, introduction, and observation are Γ⊢𝐼:U𝑖Γ,𝑗:𝐼⊢𝐷(𝑗):𝖣𝖾𝗌𝖼𝑖(𝐼)Γ⊢𝖬𝗎(𝐷):𝐼→U𝑖Mu−form Γ⊢𝑗:𝐼Γ⊢𝑢:[[𝐷(𝑗)]](𝖬𝗎(𝐷))Γ⊢𝗋𝗈𝗅𝗅𝑗(𝑢):𝖬𝗎(𝐷)(𝑗)Mu−intro 𝗈𝗎𝗍𝑗:𝖬𝗎(𝐷)(𝑗)→[[𝐷(𝑗)]](𝖬𝗎(𝐷)) with 𝗈𝗎𝗍𝑗(𝗋𝗈𝗅𝗅𝑗(𝑢))≡𝑢. For 𝑃 :(𝑗 :𝐼) →𝖬𝗎(𝐷)(𝑗) →U𝑘, define 𝖠𝗅𝗅 structurally, with 𝖠𝗅𝗅𝖷(𝑗)(𝑃,𝑥) =𝑃(𝑗,𝑥) and products of hypotheses at product codes. The induction rule and computation are 𝑠:(𝑗:𝐼)(𝑢:[[𝐷(𝑗)]](𝖬𝗎(𝐷)))→𝖠𝗅𝗅𝐷(𝑗)(𝑃,𝑢)→𝑃(𝑗,𝗋𝗈𝗅𝗅𝑗(𝑢))𝑡:𝖬𝗎(𝐷)(𝑗)𝗂𝗇𝖽𝐷(𝑃,𝑠;𝑗,𝑡):𝑃(𝑗,𝑡)Desc−ind 𝗂𝗇𝖽𝐷(𝑃,𝑠;𝑗,𝗋𝗈𝗅𝗅𝑗(𝑢))≡𝑠𝑗(𝑢,𝖼𝖺𝗅𝗅𝗌𝐷(𝑗)(𝑃,𝗂𝗇𝖽𝐷(𝑃,𝑠),𝑢)). The principal MAG universe separately has input variables, 0, 1, Σ𝑓, Π𝑓, and 𝜇. Its Σ𝑓 interpretation stores a witness, an equality 𝑓(𝑜) =𝑜′, and the branch payload; Π𝑓 quantifies over such witnesses. Decidable equality is defined only on the finite 𝖤𝗊𝖣𝖾𝗌𝖼 grammar of unit, decidable constants, recursive positions, sums, and products.