lean4-htt/tests/lean/run/ind_whnf.lean
Leonardo de Moura 57f02804f3 feat: use forallTelescopeReducing
This is needed now that we allow definitions at `inductive`.
2021-10-25 13:05:23 -07:00

35 lines
764 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

inductive Expr : id Type
| var : Nat → Expr
| app : String → List Expr → Expr
partial def Expr.fold (f : Nat → αα) : Expr → αα
| var n, a => f n a
| app s as, a => as.foldl (init := a) fun a e => fold f e a
def Expr.isVar : Expr → Bool
| var _ => true
| _ => false
inductive Lst (α : Type u) : id (id (Type u))
| nil : Lst α
| cons : α → Lst α → Lst α
protected def Lst.append : Lst α → Lst α → Lst α
| nil, bs => bs
| cons a as, bs => cons a (Lst.append as bs)
#print Lst
def Set (α : Type u) : Type u := α → Prop
mutual
inductive Even : Set Nat
| zero : Even 0
| succ : Odd n → Even n
inductive Odd : Set Nat
| succ : Even n → Odd n
end
#print Even
#print Odd