Files
lean4/tests/playground/arith_eval_nat.lean
Sebastian Ullrich 3ed67138d5 chore(*): update equation syntax in files and old parser
for f in ../../**/*.lean; do echo $f; ./patch.lean.out $f > tmp && cat tmp > $f; done
2019-08-09 11:11:34 +02:00

20 lines
380 B
Lean4

inductive Expr
| Var : Nat Expr
| Val : Nat Expr
| Add : Expr Expr Expr
open Expr Nat
def mkExpr : Nat Nat Expr
| 0, v => Val v
| succ n, v => Add (mkExpr n (v+1)) (mkExpr n (v-1))
def eval : Expr Nat
| Var x => 0
| Val v => v
| Add l r => eval l + eval r
def main : IO UInt32 :=
IO.println (toString $ eval (mkExpr 26 1)) *>
pure 0