MCPcopy Create free account
hub / github.com/argumentcomputer/ix / mk_ind_univs

Method mk_ind_univs

crates/kernel/src/inductive.rs:3210–3219  ·  view source on GitHub ↗

Create shifted universe param args for an inductive in a recursor context. For large eliminators (offset=1): [Param(1), ..., Param(n)]. For small eliminators (offset=0): [Param(0), ..., Param(n-1)].

(&mut self, ind_lvls: u64, offset: u64)

Source from the content-addressed store, hash-verified

3208 lift(&mut self.env.intern, &sp, lift_by as u64, 0)
3209 } else {
3210 sp
3211 }
3212 } else {
3213 let depth = self.depth();
3214 KExpr::var(depth - 1 - j, anon())
3215 };
3216 ty = subst(&mut self.env.intern, body, &p, 0);
3217 },
3218 _ => break,
3219 }
3220 }
3221
3222 // Collect fields and push them as locals

Callers 3

build_flat_blockMethod · 0.80
try_detect_nestedMethod · 0.80
build_rec_typeMethod · 0.80

Calls 2

paramFunction · 0.70
intern_univMethod · 0.45

Tested by

no test coverage detected