Step * 1 2 2 1 1 of Lemma accum_induction


1. Type
2. (T List) ⟶ ℙ
3. : ⋂ys:T List. (Q[ys] ⟶ (∀y:T. Q[ys [y]]))
4. Q[[]]
5. : ℕ
6. List
7. ∀L1:T List
     (||L1|| < ||L||  (accumulate (with value and list item y): yover list:  L1with starting value: b) ∈ Q[L1]))
8. ¬↑null(L)
⊢ accumulate (with value and list item y): yover list:  firstn(||L|| 1;L)with starting value: b) last(L)
  ∈ Q[firstn(||L|| 1;L) [last(L)]]
BY
(InstHyp [⌜firstn(||L|| 1;L)⌝(-2)⋅ THEN Auto THEN RWW "length_firstn" 0⋅ THEN Auto) }


Latex:


Latex:

1.  T  :  Type
2.  Q  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
3.  f  :  \mcap{}ys:T  List.  (Q[ys]  {}\mrightarrow{}  (\mforall{}y:T.  Q[ys  @  [y]]))
4.  b  :  Q[[]]
5.  n  :  \mBbbN{}
6.  L  :  T  List
7.  \mforall{}L1:T  List
          (||L1||  <  ||L||
          {}\mRightarrow{}  (accumulate  (with  value  p  and  list  item  y):
                    f  p  y
                  over  list:
                      L1
                  with  starting  value:
                    b)  \mmember{}  Q[L1]))
8.  \mneg{}\muparrow{}null(L)
\mvdash{}  f 
    accumulate  (with  value  p  and  list  item  y):
      f  p  y
    over  list:
        firstn(||L||  -  1;L)
    with  starting  value:
      b) 
    last(L)  \mmember{}  Q[firstn(||L||  -  1;L)  @  [last(L)]]


By


Latex:
(InstHyp  [\mkleeneopen{}firstn(||L||  -  1;L)\mkleeneclose{}]  (-2)\mcdot{}  THEN  Auto  THEN  RWW  "length\_firstn"  0\mcdot{}  THEN  Auto)




Home Index