Step * 2 1 1 of Lemma bar-induction

.....subterm..... T:t
2:n
1. Type
2. (T List) ⟶ ℙ
3. (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. 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. : ℕ
12. (s map(alpha;upto(n)))
⊢ map(seq-append(||s||;n;λi.s[i];alpha);upto(||s|| n)) (s map(alpha;upto(n))) ∈ (T List)
BY
(BLemma `list_extensionality`
   THEN Auto
   THEN RWO "select-map" 0
   THEN Reduce 0
   THEN Auto
   THEN (RWO "length-map" (-1) THENA Auto)
   THEN RWO "length_upto" (-1)
   THEN Auto)⋅ }

1
1. Type
2. (T List) ⟶ ℙ
3. (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. 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. : ℕ
12. (s map(alpha;upto(n)))
13. : ℕ
14. i < ||s|| n
⊢ (seq-append(||s||;n;λi.s[i];alpha) upto(||s|| n)[i]) map(alpha;upto(n))[i] ∈ T


Latex:


Latex:
.....subterm.....  T:t
2:n
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)))
\mvdash{}  map(seq-append(||s||;n;\mlambda{}i.s[i];alpha);upto(||s||  +  n))  =  (s  @  map(alpha;upto(n)))


By


Latex:
(BLemma  `list\_extensionality`
  THEN  Auto
  THEN  RWO  "select-map"  0
  THEN  Reduce  0
  THEN  Auto
  THEN  (RWO  "length-map"  (-1)  THENA  Auto)
  THEN  RWO  "length\_upto"  (-1)
  THEN  Auto)\mcdot{}




Home Index