Step * of Lemma accum_induction

[T:Type]. ∀[Q:(T List) ⟶ ℙ].  ((∀[ys:T List]. (Q[ys]  (∀y:T. Q[ys [y]])))  Q[[]]  {∀zs:T List. Q[zs]})
BY
(UseWitness ⌜λf,b,L. accumulate (with value and list item y): yover list:  Lwith starting value: b)⌝⋅
   THEN Unfolds ``uall`` 0
   THEN RepeatFor ((MemTypeCD THENW Auto))
   THEN RepeatFor ((MemCD THENA Auto))
   THEN Unfold `guard` 0
   THEN (MemCD THENA Auto)) }

1
.....subterm..... T:t
1:n
1. Type
2. (T List) ⟶ ℙ
3. : ⋂ys:T List. (Q[ys]  (∀y:T. Q[ys [y]]))
4. Q[[]]
5. List
⊢ accumulate (with value and list item y):
   y
  over list:
    L
  with starting value:
   b) ∈ Q[L]


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[Q:(T  List)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}[ys:T  List].  (Q[ys]  {}\mRightarrow{}  (\mforall{}y:T.  Q[ys  @  [y]])))  {}\mRightarrow{}  Q[[]]  {}\mRightarrow{}  \{\mforall{}zs:T  List.  Q[zs]\})


By


Latex:
(UseWitness  \mkleeneopen{}\mlambda{}f,b,L.  accumulate  (with  value  p  and  list  item  y):
                                            f  p  y
                                          over  list:
                                              L
                                          with  starting  value:
                                            b)\mkleeneclose{}\mcdot{}
  THEN  Unfolds  ``uall``  0
  THEN  RepeatFor  2  ((MemTypeCD  THENW  Auto))
  THEN  RepeatFor  2  ((MemCD  THENA  Auto))
  THEN  Unfold  `guard`  0
  THEN  (MemCD  THENA  Auto))




Home Index