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 F 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: T List,  ifthenelse: if b then t else f fi ,  eq_int: (i =z j),  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  apply: f a,  function: x:A ⟶ B[x],  subtract: n - m,  natural_number: $n,  universe: Type,  sqequal: s ~ 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