9 lines
321 B
Text
9 lines
321 B
Text
inductive TreeNode where
|
|
| mkLeaf (name : String) : TreeNode
|
|
| mkNode (name : String) (children : List TreeNode) : TreeNode
|
|
|
|
open TreeNode in def treeToList (t : TreeNode) : List String :=
|
|
match t with
|
|
| mkLeaf name => [name]
|
|
| mkNode name children => name :: List.flatten (children.map treeToList)
|
|
termination_by t
|