Step * of Lemma list_ind_reverse_unfold

[A,B:Type].
  ∀nilcase:B. ∀F:B ⟶ (A List) ⟶ A ⟶ B. ∀L:A List.
    ((||L|| > 0)
     (list_ind_reverse(L;nilcase;F) list_ind_reverse(firstn(||L|| 1;L);nilcase;F) firstn(||L|| 1;L) last(L)))
BY
(Auto
   THEN Unfold `list_ind_reverse` 0
   THEN RW(AddrC[1;1] UnrollRecursionC) 0
   THEN Reduce 0
   THEN Fold `list_ind_reverse` 0) }

1
1. Type
2. Type
3. nilcase B
4. B ⟶ (A List) ⟶ A ⟶ B
5. List
6. ||L|| > 0
⊢ if (||L|| =z 0) then nilcase else list_ind_reverse(firstn(||L|| 1;L);nilcase;F) firstn(||L|| 1;L) last(L) fi  
list_ind_reverse(firstn(||L|| 1;L);nilcase;F) firstn(||L|| 1;L) last(L)


Latex:


Latex:
\mforall{}[A,B:Type].
    \mforall{}nilcase:B.  \mforall{}F:B  {}\mrightarrow{}  (A  List)  {}\mrightarrow{}  A  {}\mrightarrow{}  B.  \mforall{}L:A  List.
        ((||L||  >  0)
        {}\mRightarrow{}  (list\_ind\_reverse(L;nilcase;F)  \msim{}  F  list\_ind\_reverse(firstn(||L||  -  1;L);nilcase;F) 
                                                                                firstn(||L||  -  1;L) 
                                                                                last(L)))


By


Latex:
(Auto
  THEN  Unfold  `list\_ind\_reverse`  0
  THEN  RW(AddrC[1;1]  UnrollRecursionC)  0
  THEN  Reduce  0
  THEN  Fold  `list\_ind\_reverse`  0)




Home Index