### Nuprl Lemma : list_decomp_last

`∀[T:Type]. ∀L:T List. ∃L':T List. (L = (L' @ [last(L)]) ∈ (T List)) supposing 0 < ||L||`

Proof

Definitions occuring in Statement :  last: `last(L)` length: `||as||` append: `as @ bs` cons: `[a / b]` nil: `[]` list: `T List` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` natural_number: `\$n` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` uimplies: `b supposing a` member: `t ∈ T` so_lambda: `λ2x.t[x]` implies: `P `` Q` prop: `ℙ` or: `P ∨ Q` assert: `↑b` ifthenelse: `if b then t else f fi ` btrue: `tt` less_than: `a < b` squash: `↓T` less_than': `less_than'(a;b)` false: `False` and: `P ∧ Q` cons: `[a / b]` top: `Top` bfalse: `ff` not: `¬A` so_apply: `x[s]` exists: `∃x:A. B[x]` decidable: `Dec(P)` subtype_rel: `A ⊆r B` append: `as @ bs` so_lambda: `so_lambda(x,y,z.t[x; y; z])` so_apply: `x[s1;s2;s3]` guard: `{T}` true: `True` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` uiff: `uiff(P;Q)` satisfiable_int_formula: `satisfiable_int_formula(fmla)`
Lemmas referenced :  member-less_than length_wf list_induction less_than_wf exists_wf list_wf equal_wf append_wf cons_wf last_wf list-cases null_nil_lemma length_of_nil_lemma product_subtype_list null_cons_lemma length_of_cons_lemma false_wf nil_wf decidable__equal_int length-zero-implies-sq-nil subtype_rel_list top_wf list_ind_nil_lemma squash_wf true_wf last_singleton iff_weakening_equal bfalse_wf assert_elim btrue_neq_bfalse assert_wf null_wf decidable__lt add-is-int-iff satisfiable-full-omega-tt intformand_wf intformnot_wf intformless_wf itermConstant_wf itermVar_wf intformeq_wf itermAdd_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_eq_lemma int_term_value_add_lemma int_formula_prop_wf last_cons list_ind_cons_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin natural_numberEquality cumulativity hypothesisEquality hypothesis independent_isectElimination rename sqequalRule lambdaEquality functionEquality because_Cache dependent_functionElimination unionElimination imageElimination productElimination voidElimination promote_hyp hypothesis_subsumption isect_memberEquality voidEquality independent_functionElimination addEquality universeEquality applyEquality dependent_pairFormation equalityTransitivity equalitySymmetry imageMemberEquality baseClosed addLevel levelHypothesis pointwiseFunctionality baseApply closedConclusion int_eqEquality intEquality independent_pairFormation computeAll equalityUniverse

Latex:
\mforall{}[T:Type].  \mforall{}L:T  List.  \mexists{}L':T  List.  (L  =  (L'  @  [last(L)]))  supposing  0  <  ||L||

Date html generated: 2017_04_17-AM-08_44_46
Last ObjectModification: 2017_02_27-PM-05_02_38

Theory : list_1

Home Index