lean4-htt/tests/lean/run/issue5027.lean
euprunin 4b47a10bef
chore: fix spelling mistakes in tests (#5439)
Co-authored-by: euprunin <euprunin@users.noreply.github.com>
2024-09-24 03:22:53 +00:00

16 lines
489 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 Term (α: Type): Type where
| Composite : Array (Term α) → Term α
| Atom: α → Term α
-- height of a term
def height (f: Term α): Nat :=
let rec max_height (a: Array (Term α)) (i: Nat) (m: Nat): Nat :=
if h: i < a.size then
-- The recursive call to height used to fail because of a too weak
-- array_get_dec
max_height a (i + 1) (max (height a[i]) m)
else
m
match f with
| .Composite a => 1 + max_height a 0 0
| .Atom _ => 1