Step
*
of Lemma
l_tree_ind_wf
∀[L,T,A:Type]. ∀[R:A ⟶ l_tree(L;T) ⟶ ℙ]. ∀[v:l_tree(L;T)]. ∀[leaf:val:L ⟶ {x:A| R[x;l_tree_leaf(val)]} ].
∀[node:val:T
⟶ left_subtree:l_tree(L;T)
⟶ right_subtree:l_tree(L;T)
⟶ {x:A| R[x;left_subtree]}
⟶ {x:A| R[x;right_subtree]}
⟶ {x:A| R[x;l_tree_node(val;left_subtree;right_subtree)]} ].
(l_tree_ind(v;
Leaf(val)
⇒ leaf[val];
Node(val,left_subtree,right_subtree)
⇒ rec1,rec2.node[val;left_subtree;right_subtree;rec1;rec2])
∈ {x:A| R[x;v]} )
BY
{ ProveDatatypeIndWf TERMOF{l_tree-definition:o, 1:l, i:l}⋅ }
Latex:
Latex:
\mforall{}[L,T,A:Type]. \mforall{}[R:A {}\mrightarrow{} l\_tree(L;T) {}\mrightarrow{} \mBbbP{}]. \mforall{}[v:l\_tree(L;T)].
\mforall{}[leaf:val:L {}\mrightarrow{} \{x:A| R[x;l\_tree\_leaf(val)]\} ].
\mforall{}[node:val:T
{}\mrightarrow{} left$_{subtree}$:l\_tree(L;T)
{}\mrightarrow{} right$_{subtree}$:l\_tree(L;T)
{}\mrightarrow{} \{x:A| R[x;left$_{subtree}$]\}
{}\mrightarrow{} \{x:A| R[x;right$_{subtree}$]\}
{}\mrightarrow{} \{x:A| R[x;l\_tree\_node(val;left$_{subtree}$;right$_{subtree\000C}$)]\} ].
(l\_tree\_ind(v;
Leaf(val){}\mRightarrow{} leaf[val];
Node(val,left$_{subtree}$,right$_{subtree}$){}\mRightarrow{}\000C rec1,rec2.node[val;left$_{subtree}$;...;rec1;rec2])
\mmember{} \{x:A| R[x;v]\} )
By
Latex:
ProveDatatypeIndWf TERMOF\{l\_tree-definition:o, 1:l, i:l\}\mcdot{}
Home
Index