Nuprl Lemma : list_ind_reverse_unfold1

[A,B:Type].
  ∀nilcase:B. ∀F:B ⟶ (A List) ⟶ A ⟶ B. ∀L:A List.
    (list_ind_reverse(L;nilcase;F) if (||L|| =z 0)
    then nilcase
    else list_ind_reverse(firstn(||L|| 1;L);nilcase;F) firstn(||L|| 1;L) last(L)
    fi )


Proof




Definitions occuring in Statement :  list_ind_reverse: list_ind_reverse(L;nilcase;R) firstn: firstn(n;as) last: last(L) length: ||as|| list: List ifthenelse: if then else fi  eq_int: (i =z j) uall: [x:A]. B[x] all: x:A. B[x] apply: a function: x:A ⟶ B[x] subtract: m natural_number: $n universe: Type sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] list_ind_reverse: list_ind_reverse(L;nilcase;R)
Lemmas referenced :  list_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut lambdaFormation sqequalRule hypothesis lemma_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality functionEquality lambdaEquality dependent_functionElimination sqequalAxiom because_Cache universeEquality isect_memberEquality

Latex:
\mforall{}[A,B:Type].
    \mforall{}nilcase:B.  \mforall{}F:B  {}\mrightarrow{}  (A  List)  {}\mrightarrow{}  A  {}\mrightarrow{}  B.  \mforall{}L:A  List.
        (list\_ind\_reverse(L;nilcase;F)  \msim{}  if  (||L||  =\msubz{}  0)
        then  nilcase
        else  F  list\_ind\_reverse(firstn(||L||  -  1;L);nilcase;F)  firstn(||L||  -  1;L)  last(L)
        fi  )



Date html generated: 2016_05_14-PM-02_59_55
Last ObjectModification: 2015_12_26-PM-01_58_35

Theory : list_1


Home Index