26 lines
559 B
Text
26 lines
559 B
Text
import Lean
|
||
|
||
inductive NEList (α : Type)
|
||
| uno : α → NEList α
|
||
| cons : α → NEList α → NEList α
|
||
|
||
def NEList.notUno : NEList α → Bool
|
||
| uno a => true
|
||
| cons a as => false
|
||
|
||
inductive Lambda
|
||
| mk : (l : NEList String) → l.notUno = true → Lambda
|
||
|
||
inductive Value
|
||
| lam : Lambda → Value
|
||
| nil : Value
|
||
|
||
def State.aux (v : Value) : Bool :=
|
||
match v with
|
||
| .lam (.mk ns h) => true
|
||
| v => false
|
||
|
||
def gen : Lean.MetaM Unit := do
|
||
discard <| Lean.Meta.Match.getEquationsForImpl ``State.aux.match_1
|
||
|
||
#eval gen
|