15 lines
395 B
Text
15 lines
395 B
Text
open nat
|
|
|
|
inductive tree (A : Type)
|
|
| leaf : A → tree
|
|
| node : tree → tree → tree
|
|
|
|
-- set_option elaborator.lift_coercions false
|
|
|
|
definition size {A : Type} (t : tree A) :nat:=
|
|
tree.rec (λ a, 1) (λ t₁ t₂ n₁ n₂, n₁ + n₂) t
|
|
|
|
--set_option elaborator.lift_coercions true
|
|
|
|
definition size2 {A : Type} (t : tree A) :nat:=
|
|
tree.rec (λ a, 1) (λ t₁ t₂ n₁ n₂, n₁ + n₂) t
|