Step
*
2
1
1
1
of Lemma
bar-induction (dup of thm in list_1)
1. T : Type
2. R : (T List) ⟶ ℙ
3. A : (T List) ⟶ ℙ
4. ∀s:T List. Dec(R s)
5. ∀s:T List. ((R s) 
⇒ (A s))
6. ∀s:T List. ((∀t:T. (A (s @ [t]))) 
⇒ (A s))
7. s : T List
8. ∀alpha:ℕ ⟶ T. (↓∃n:ℕ. (R (s @ map(alpha;upto(n)))))
9. ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀alpha:ℕ ⟶ T. (↓∃m:ℕ. (R map(seq-append(n;m;s;alpha);upto(n + m))))) 
⇒ (A map(s;upto(n))))
10. alpha : ℕ ⟶ T
11. n : ℕ
12. R (s @ map(alpha;upto(n)))
13. i : ℕ
14. i < ||s|| + n
⊢ (seq-append(||s||;n;λi.s[i];alpha) upto(||s|| + n)[i]) = s @ map(alpha;upto(n))[i] ∈ T
BY
{ xxx((RWO "select-append select-upto" 0 THENA Auto)
      THEN RepUR ``seq-append`` 0
      THEN AutoSplit
      THEN RWO "select-map" 0
      THEN Auto
      THEN (RWO "select-upto" 0 THEN Auto)⋅)xxx }
Latex:
Latex:
1.  T  :  Type
2.  R  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
3.  A  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}s:T  List.  Dec(R  s)
5.  \mforall{}s:T  List.  ((R  s)  {}\mRightarrow{}  (A  s))
6.  \mforall{}s:T  List.  ((\mforall{}t:T.  (A  (s  @  [t])))  {}\mRightarrow{}  (A  s))
7.  s  :  T  List
8.  \mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}n:\mBbbN{}.  (R  (s  @  map(alpha;upto(n)))))
9.  \mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.
          ((\mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}m:\mBbbN{}.  (R  map(seq-append(n;m;s;alpha);upto(n  +  m)))))  {}\mRightarrow{}  (A  map(s;upto(n))))
10.  alpha  :  \mBbbN{}  {}\mrightarrow{}  T
11.  n  :  \mBbbN{}
12.  R  (s  @  map(alpha;upto(n)))
13.  i  :  \mBbbN{}
14.  i  <  ||s||  +  n
\mvdash{}  (seq-append(||s||;n;\mlambda{}i.s[i];alpha)  upto(||s||  +  n)[i])  =  s  @  map(alpha;upto(n))[i]
By
Latex:
xxx((RWO  "select-append  select-upto"  0  THENA  Auto)
        THEN  RepUR  ``seq-append``  0
        THEN  AutoSplit
        THEN  RWO  "select-map"  0
        THEN  Auto
        THEN  (RWO  "select-upto"  0  THEN  Auto)\mcdot{})xxx
Home
Index