lean4-htt/tests/lean/run/ind_whnf.lean
Kim Morrison 0ddd9341d6
feat: refactor of Lean.Grind.ToInt and remaining instances (#8996)
This PR provides the remaining instances for the `Lean.Grind.ToInt`
typeclasses.
2025-06-25 13:32:38 +00:00

59 lines
1.2 KiB
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)
/--
info: inductive Lst.{u} : Type u → id (id (Type u))
number of parameters: 1
constructors:
Lst.nil : {α : Type u} → Lst α
Lst.cons : {α : Type u} → α → Lst α → Lst α
-/
#guard_msgs in
#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
/--
info: inductive Even : Set Nat
number of parameters: 0
constructors:
Even.zero : Even 0
Even.succ : ∀ {n : Nat}, Odd n → Even n
-/
#guard_msgs in
#print Even
/--
info: inductive Odd : Set Nat
number of parameters: 0
constructors:
Odd.succ : ∀ {n : Nat}, Even n → Odd n
-/
#guard_msgs in
#print Odd