12 lines
344 B
Text
12 lines
344 B
Text
inductive Expr where
|
|
| val : Nat → Expr
|
|
| add : Expr → Expr → Expr
|
|
| fn : (Nat → Expr) → Expr
|
|
|
|
inductive Pos : Expr → Prop
|
|
| base : (n : Nat) → Pos (Expr.val n.succ)
|
|
| add : Pos e₁ → Pos e₂ → Pos (Expr.add e₁ e₂)
|
|
| fn : ((n : Nat) → Pos (f n)) → Pos (Expr.fn f)
|
|
|
|
#print Pos.below
|
|
#print Pos.brecOn
|