Helper: build test `name : PropStructure.{0,1} → resType := fun x => .proj PropStructure idx x`
(
env: &mut KEnv<Meta>,
name: &str,
res_ty: ME,
idx: u64,
)
| 1889 | ); |
| 1890 | |
| 1891 | // Minimal recursor (Prop elimination only since it's a Prop structure) |
| 1892 | let ps_motive = pi(cnst("PropStructure", &[param(0), param(1)]), sort0()); |
| 1893 | let ps_rec_ty = ipi( |
| 1894 | "motive", |
| 1895 | ps_motive, |
| 1896 | npi( |
| 1897 | "t", |
| 1898 | cnst("PropStructure", &[param(0), param(1)]), |
| 1899 | app(var(1), var(0)), |
| 1900 | ), |
| 1901 | ); |
| 1902 | env.insert( |
| 1903 | ps_rec_id.clone(), |
| 1904 | KConst::Recr { |
| 1905 | name: mk_name("PropStructure.rec"), |
| 1906 | level_params: vec![mk_name("u"), mk_name("v")], |
| 1907 | k: false, |
| 1908 | is_unsafe: false, |
| 1909 | lvls: 2, |
| 1910 | params: 0, |
| 1911 | indices: 0, |
| 1912 | motives: 1, |
| 1913 | minors: 0, |