Step
*
1
2
2
1
1
of Lemma
wfd-tree-induction
.....assertion..... 
1. [A] : Type
2. [P] : wfd-tree(A) ⟶ ℙ
3. P[w-nil()]
4. ∀f:A ⟶ wfd-tree(A). ((∀a:A. P[f a]) 
⇒ P[mk-wfd-tree(f)])
5. a : A
6. L : A List
7. ∀w:wfd-tree(A). (∀t:A. P[w@L @ [t]]) 
⇒ P[w@L] supposing ¬↑co-w-null(w@L)
8. w : wfd-tree(A)
9. ¬↑co-w-null(w@[a / L])
10. ∀t:A. P[w@[a / L] @ [t]]
⊢ w@[a / L] ~ wfd-subtrees(w) a@L
BY
{ (RW (AddrC [1] (RecUnfoldC `co-w-select`)) 0
   THEN Reduce 0
   THEN Folds ``co-w-null wfd-subtrees`` 0
   THEN AutoSplit
   THEN D (-3)
   THEN RecUnfold `co-w-select` 0
   THEN Reduce 0
   THEN Folds ``co-w-null wfd-subtrees`` 0
   THEN AutoSplit) }
Latex:
Latex:
.....assertion..... 
1.  [A]  :  Type
2.  [P]  :  wfd-tree(A)  {}\mrightarrow{}  \mBbbP{}
3.  P[w-nil()]
4.  \mforall{}f:A  {}\mrightarrow{}  wfd-tree(A).  ((\mforall{}a:A.  P[f  a])  {}\mRightarrow{}  P[mk-wfd-tree(f)])
5.  a  :  A
6.  L  :  A  List
7.  \mforall{}w:wfd-tree(A).  (\mforall{}t:A.  P[w@L  @  [t]])  {}\mRightarrow{}  P[w@L]  supposing  \mneg{}\muparrow{}co-w-null(w@L)
8.  w  :  wfd-tree(A)
9.  \mneg{}\muparrow{}co-w-null(w@[a  /  L])
10.  \mforall{}t:A.  P[w@[a  /  L]  @  [t]]
\mvdash{}  w@[a  /  L]  \msim{}  wfd-subtrees(w)  a@L
By
Latex:
(RW  (AddrC  [1]  (RecUnfoldC  `co-w-select`))  0
  THEN  Reduce  0
  THEN  Folds  ``co-w-null  wfd-subtrees``  0
  THEN  AutoSplit
  THEN  D  (-3)
  THEN  RecUnfold  `co-w-select`  0
  THEN  Reduce  0
  THEN  Folds  ``co-w-null  wfd-subtrees``  0
  THEN  AutoSplit)
Home
Index