Zulip Chat Archive

Stream: Type theory

Topic: You need UIP for lambda calculus


Chris Hughes (May 19 2023 at 14:14):

I'm doing something close to simply typed lambda calculus in Lean right now, and some of my code looks something like this.

def Context (types : Type) := List types

inductive Var {types : Type} : Context types  types  Type
| head {Γ T} : Var (T::Γ) T
| tail {Γ T T'} : Var Γ T  Var (T'::Γ) T

theorem singleton_of_singleton {types : Type} (T : types) :
   v₁ v₂ : Var [T] T, v₁ = v₂
| Var.head, Var.head => rfl

Am I correct in saying that singleton_of_singleton is not provable without UIP?

Andrea Vezzosi (May 19 2023 at 14:20):

You need UIP for the types parameter at least.


Last updated: Dec 20 2023 at 11:08 UTC