### Nuprl Lemma : select-rev-append

`∀[T:Type]. ∀[L,bs:T List]. ∀[i:ℕ||L|| + ||bs||].`
`  (rev(L) + bs[i] = if i <z ||L|| then L[||L|| - 1 - i] else bs[i - ||L||] fi  ∈ T)`

Proof

Definitions occuring in Statement :  select: `L[n]` length: `||as||` rev-append: `rev(as) + bs` list: `T List` int_seg: `{i..j-}` ifthenelse: `if b then t else f fi ` lt_int: `i <z j` uall: `∀[x:A]. B[x]` subtract: `n - m` add: `n + m` natural_number: `\$n` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` so_lambda: `λ2x.t[x]` int_seg: `{i..j-}` uimplies: `b supposing a` sq_stable: `SqStable(P)` implies: `P `` Q` lelt: `i ≤ j < k` and: `P ∧ Q` squash: `↓T` top: `Top` all: `∀x:A. B[x]` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` ifthenelse: `if b then t else f fi ` uiff: `uiff(P;Q)` exists: `∃x:A. B[x]` subtype_rel: `A ⊆r B` nat: `ℕ` so_apply: `x[s]` prop: `ℙ` bfalse: `ff` or: `P ∨ Q` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` false: `False` not: `¬A` select: `L[n]` nil: `[]` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` subtract: `n - m` cand: `A c∧ B` gt: `i > j` le: `A ≤ B` decidable: `Dec(P)` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` less_than': `less_than'(a;b)` true: `True` less_than: `a < b` nat_plus: `ℕ+`
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality cumulativity hypothesis natural_numberEquality addEquality because_Cache setElimination rename independent_isectElimination independent_functionElimination productElimination imageMemberEquality baseClosed imageElimination isect_memberEquality voidElimination voidEquality lambdaFormation unionElimination equalityElimination dependent_pairFormation sqequalIntensionalEquality applyEquality intEquality equalityTransitivity equalitySymmetry dependent_functionElimination promote_hyp instantiate productEquality independent_pairFormation minusEquality axiomEquality dependent_set_memberEquality universeEquality multiplyEquality baseApply closedConclusion

Latex:
\mforall{}[T:Type].  \mforall{}[L,bs:T  List].  \mforall{}[i:\mBbbN{}||L||  +  ||bs||].
(rev(L)  +  bs[i]  =  if  i  <z  ||L||  then  L[||L||  -  1  -  i]  else  bs[i  -  ||L||]  fi  )

Date html generated: 2017_04_14-AM-08_38_42
Last ObjectModification: 2017_02_27-PM-03_31_19

Theory : list_0

Home Index