Add Eq.{u} and Eq.refl.{u} as axioms to the environment. Eq : {α : Sort u} → α → α → Prop Eq.refl : {α : Sort u} → (a : α) → Eq a a
(env: &mut KEnv<Meta>)
| 199 | /// Eq : {α : Sort u} → α → α → Prop |
| 200 | /// Eq.refl : {α : Sort u} → (a : α) → Eq a a |
| 201 | pub fn add_eq_axioms(env: &mut KEnv<Meta>) { |
| 202 | let eq_ty = |
| 203 | ipi("α", sort(param(0)), npi("a", var(0), npi("b", var(1), sort0()))); |
| 204 | let (eq_id, eq_c) = mk_axiom("Eq", 1, vec![mk_name("u")], eq_ty); |
| 205 | env.insert(eq_id, eq_c); |
| 206 | |
| 207 | let eq_refl_ty = ipi( |
| 208 | "α", |
| 209 | sort(param(0)), |
| 210 | npi("a", var(0), apps(cnst("Eq", &[param(0)]), &[var(1), var(0), var(0)])), |
| 211 | ); |
| 212 | let (refl_id, refl_c) = |
| 213 | mk_axiom("Eq.refl", 1, vec![mk_name("u")], eq_refl_ty); |
| 214 | env.insert(refl_id, refl_c); |
| 215 | } |
| 216 | |
| 217 | /// Convenience: Eq.{u} α a b |
| 218 | pub fn eq_expr(u: MU, alpha: ME, a: ME, b: ME) -> ME { |
no test coverage detected