### Nuprl Lemma : append_firstn_lastn

`∀[T:Type]. ∀[L:T List]. ∀[n:{0...||L||}].  ((firstn(n;L) @ nth_tl(n;L)) = L ∈ (T List))`

Proof

Definitions occuring in Statement :  firstn: `firstn(n;as)` length: `||as||` nth_tl: `nth_tl(n;as)` append: `as @ bs` list: `T List` int_iseg: `{i...j}` uall: `∀[x:A]. B[x]` 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_iseg: `{i...j}` so_apply: `x[s]` implies: `P `` Q` firstn: `firstn(n;as)` nth_tl: `nth_tl(n;as)` all: `∀x:A. B[x]` so_lambda: `so_lambda(x,y,z.t[x; y; z])` top: `Top` so_apply: `x[s1;s2;s3]` append: `as @ bs` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` and: `P ∧ Q` uimplies: `b supposing a` ifthenelse: `if b then t else f fi ` bfalse: `ff` exists: `∃x:A. B[x]` prop: `ℙ` or: `P ∨ Q` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b` false: `False` not: `¬A` satisfiable_int_formula: `satisfiable_int_formula(fmla)` squash: `↓T` cand: `A c∧ B` decidable: `Dec(P)` le: `A ≤ B` true: `True` subtype_rel: `A ⊆r B` iff: `P `⇐⇒` Q` rev_implies: `P `` Q`
Lemmas referenced :  list_induction uall_wf int_iseg_wf length_wf equal_wf list_wf append_wf firstn_wf nth_tl_wf length_of_nil_lemma list_ind_nil_lemma reduce_tl_nil_lemma nth_tl_nil subtract_wf le_int_wf bool_wf eqtt_to_assert assert_of_le_int nil_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot le_wf length_of_cons_lemma list_ind_cons_lemma reduce_tl_cons_lemma lt_int_wf assert_of_lt_int int_iseg_properties satisfiable-full-omega-tt intformand_wf intformle_wf itermVar_wf itermConstant_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_less_lemma int_formula_prop_wf cons_wf decidable__le intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma add-is-int-iff itermAdd_wf int_term_value_add_lemma false_wf iff_weakening_equal less_than_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality natural_numberEquality cumulativity hypothesis setElimination rename because_Cache independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality lambdaFormation unionElimination equalityElimination productElimination independent_isectElimination dependent_pairFormation equalityTransitivity equalitySymmetry promote_hyp instantiate int_eqEquality intEquality independent_pairFormation computeAll applyEquality imageElimination dependent_set_memberEquality addEquality pointwiseFunctionality baseApply closedConclusion baseClosed productEquality imageMemberEquality axiomEquality universeEquality

Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].  \mforall{}[n:\{0...||L||\}].    ((firstn(n;L)  @  nth\_tl(n;L))  =  L)

Date html generated: 2017_04_14-AM-09_25_18
Last ObjectModification: 2017_02_27-PM-03_59_38

Theory : list_1

Home Index