Step
*
of Lemma
RankEx1_ind_wf
∀[T,A:Type]. ∀[R:A ⟶ RankEx1(T) ⟶ ℙ]. ∀[v:RankEx1(T)]. ∀[Leaf:leaf:T ⟶ {x:A| R[x;RankEx1_Leaf(leaf)]} ].
∀[Prod:prod:(RankEx1(T) × RankEx1(T))
⟶ let u,u1 = prod
in {x:A| R[x;u]} ∧ {x:A| R[x;u1]}
⟶ {x:A| R[x;RankEx1_Prod(prod)]} ]. ∀[ProdL:prodl:(T × RankEx1(T))
⟶ let u,u1 = prodl
in {x:A| R[x;u1]}
⟶ {x:A| R[x;RankEx1_ProdL(prodl)]} ].
∀[ProdR:prodr:(RankEx1(T) × T) ⟶ let u,u1 = prodr in {x:A| R[x;u]} ⟶ {x:A| R[x;RankEx1_ProdR(prodr)]} ].
∀[List:list:(RankEx1(T) List) ⟶ (∀u∈list.{x:A| R[x;u]} ) ⟶ {x:A| R[x;RankEx1_List(list)]} ].
(RankEx1_ind(v;
RankEx1_Leaf(leaf)
⇒ Leaf[leaf];
RankEx1_Prod(prod)
⇒ rec1.Prod[prod;rec1];
RankEx1_ProdL(prodl)
⇒ rec2.ProdL[prodl;rec2];
RankEx1_ProdR(prodr)
⇒ rec3.ProdR[prodr;rec3];
RankEx1_List(list)
⇒ rec4.List[list;rec4]) ∈ {x:A| R[x;v]} )
BY
{ ProveDatatypeIndWf TERMOF{RankEx1-definition:o, 1:l, i:l}⋅ }
Latex:
Latex:
\mforall{}[T,A:Type]. \mforall{}[R:A {}\mrightarrow{} RankEx1(T) {}\mrightarrow{} \mBbbP{}]. \mforall{}[v:RankEx1(T)]. \mforall{}[Leaf:leaf:T {}\mrightarrow{} \{x:A|
R
[x;RankEx1\_Leaf(leaf)]\} ]\000C.
\mforall{}[Prod:prod:(RankEx1(T) \mtimes{} RankEx1(T))
{}\mrightarrow{} let u,u1 = prod
in \{x:A| R[x;u]\} \mwedge{} \{x:A| R[x;u1]\}
{}\mrightarrow{} \{x:A| R[x;RankEx1\_Prod(prod)]\} ]. \mforall{}[ProdL:prodl:(T \mtimes{} RankEx1(T))
{}\mrightarrow{} let u,u1 = prodl
in \{x:A| R[x;u1]\}
{}\mrightarrow{} \{x:A| R[x;RankEx1\_ProdL(prodl)]\} ].
\mforall{}[ProdR:prodr:(RankEx1(T) \mtimes{} T)
{}\mrightarrow{} let u,u1 = prodr
in \{x:A| R[x;u]\}
{}\mrightarrow{} \{x:A| R[x;RankEx1\_ProdR(prodr)]\} ]. \mforall{}[List:list:(RankEx1(T) List)
{}\mrightarrow{} (\mforall{}u\mmember{}list.\{x:A| R[x;u]\} )
{}\mrightarrow{} \{x:A| R[x;RankEx1\_List(list)]\} ].
(RankEx1\_ind(v;
RankEx1\_Leaf(leaf){}\mRightarrow{} Leaf[leaf];
RankEx1\_Prod(prod){}\mRightarrow{} rec1.Prod[prod;rec1];
RankEx1\_ProdL(prodl){}\mRightarrow{} rec2.ProdL[prodl;rec2];
RankEx1\_ProdR(prodr){}\mRightarrow{} rec3.ProdR[prodr;rec3];
RankEx1\_List(list){}\mRightarrow{} rec4.List[list;rec4]) \mmember{} \{x:A| R[x;v]\} )
By
Latex:
ProveDatatypeIndWf TERMOF\{RankEx1-definition:o, 1:l, i:l\}\mcdot{}
Home
Index