foo Nat : Nat foo Nat 1 : Nat f 3 4 : Fin (4 + 1) f 3 : Fin (1 + 1) f 2 : Fin (1 + 1) ∀ (x : Foo), x.f 1 = 0 : Prop (let_fun f := id; f) 1 : Nat 1 2 : Nat (if h : True then id else id) 1 : Nat