### Nuprl Lemma : nth_tl_decomp

`∀[T:Type]. ∀[m:ℕ]. ∀[L:T List].  nth_tl(m;L) ~ [L[m] / nth_tl(1 + m;L)] supposing m < ||L||`

Proof

Definitions occuring in Statement :  select: `L[n]` length: `||as||` nth_tl: `nth_tl(n;as)` cons: `[a / b]` list: `T List` nat: `ℕ` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` add: `n + m` natural_number: `\$n` universe: `Type` sqequal: `s ~ t`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` nat: `ℕ` implies: `P `` Q` false: `False` ge: `i ≥ j ` uimplies: `b supposing a` not: `¬A` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` all: `∀x:A. B[x]` top: `Top` and: `P ∧ Q` prop: `ℙ` nth_tl: `nth_tl(n;as)` le_int: `i ≤z j` lt_int: `i <z j` bnot: `¬bb` ifthenelse: `if b then t else f fi ` bfalse: `ff` subtract: `n - m` btrue: `tt` decidable: `Dec(P)` or: `P ∨ Q` squash: `↓T` less_than: `a < b` true: `True` subtype_rel: `A ⊆r B` guard: `{T}` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` bool: `𝔹` unit: `Unit` it: `⋅` uiff: `uiff(P;Q)` sq_type: `SQType(T)` assert: `↑b` select: `L[n]` nil: `[]` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]` cons: `[a / b]`
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf length_wf list_wf decidable__le subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma nat_wf list_decomp select0 tl_wf squash_wf true_wf length_tl subtype_rel_self iff_weakening_equal decidable__lt le_int_wf bool_wf eqtt_to_assert assert_of_le_int eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot le_wf non_neg_length itermAdd_wf int_term_value_add_lemma int_subtype_base list-cases reduce_tl_nil_lemma nth_tl_nil stuck-spread base_wf length_of_nil_lemma product_subtype_list reduce_tl_cons_lemma length_of_cons_lemma select-cons-tl
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination lambdaFormation natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation sqequalAxiom equalityTransitivity equalitySymmetry unionElimination because_Cache universeEquality applyEquality imageElimination productElimination imageMemberEquality baseClosed instantiate equalityElimination addEquality promote_hyp cumulativity hypothesis_subsumption

Latex:
\mforall{}[T:Type].  \mforall{}[m:\mBbbN{}].  \mforall{}[L:T  List].    nth\_tl(m;L)  \msim{}  [L[m]  /  nth\_tl(1  +  m;L)]  supposing  m  <  ||L||

Date html generated: 2018_05_21-PM-00_32_41
Last ObjectModification: 2018_05_19-AM-06_42_44

Theory : list_1

Home Index