Step
*
1
1
of Lemma
bar-induction (dup of thm in list_1)
.....subterm..... T:t
2:n
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 : ℕ
10. s1 : ℕn ⟶ T
11. ∀t:T. (A map(s1++t;upto(n + 1)))
12. t : T
13. A map(s1++t;upto(n + 1))
⊢ (map(s1;upto(n)) @ [t]) = map(s1++t;upto(n + 1)) ∈ (T List)
BY
{ (BLemma `list_extensionality`
   THEN Auto
   THEN RWO "select-map" 0
   THEN Reduce 0
   THEN Auto
   THEN ((RWW "length-append length-map length_upto" (-1) THEN Reduce (-1)) THEN Auto)⋅)⋅ }
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 : ℕ
10. s1 : ℕn ⟶ T
11. ∀t:T. (A map(s1++t;upto(n + 1)))
12. t : T
13. A map(s1++t;upto(n + 1))
14. i : ℕ
15. i < n + 1
⊢ map(s1;upto(n)) @ [t][i] = (s1++t upto(n + 1)[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.  n  :  \mBbbN{}
10.  s1  :  \mBbbN{}n  {}\mrightarrow{}  T
11.  \mforall{}t:T.  (A  map(s1++t;upto(n  +  1)))
12.  t  :  T
13.  A  map(s1++t;upto(n  +  1))
\mvdash{}  (map(s1;upto(n))  @  [t])  =  map(s1++t;upto(n  +  1))
By
Latex:
(BLemma  `list\_extensionality`
  THEN  Auto
  THEN  RWO  "select-map"  0
  THEN  Reduce  0
  THEN  Auto
  THEN  ((RWW  "length-append  length-map  length\_upto"  (-1)  THEN  Reduce  (-1))  THEN  Auto)\mcdot{})\mcdot{}
Home
Index