Nuprl Lemma : last_lemma

[T:Type]. ∀L:T List. ∃L':T List. (L (L' [last(L)]) ∈ (T List)) supposing ¬↑null(L)


Proof




Definitions occuring in Statement :  last: last(L) null: null(as) append: as bs cons: [a b] nil: [] list: List assert: b uimplies: supposing a uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] not: ¬A universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] uimplies: supposing a member: t ∈ T not: ¬A implies:  Q false: False exists: x:A. B[x] prop: top: Top nat: int_iseg: {i...j} and: P ∧ Q cand: c∧ B or: P ∨ Q assert: b ifthenelse: if then else fi  btrue: tt true: True cons: [a b] bfalse: ff guard: {T} decidable: Dec(P) iff: ⇐⇒ Q rev_implies:  Q uiff: uiff(P;Q) sq_stable: SqStable(P) squash: T subtract: m subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) ge: i ≥  satisfiable_int_formula: satisfiable_int_formula(fmla) int_seg: {i..j-} lelt: i ≤ j < k less_than: a < b so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) last: last(L)
Lemmas referenced :  firstn_wf subtract_wf length_wf append_wf cons_wf last_wf nil_wf not_wf assert_wf null_wf list_wf list_extensionality length-append istype-void length_of_cons_lemma length_of_nil_lemma less_than_wf nat_wf length_firstn subtract_nat_wf list-cases null_nil_lemma product_subtype_list null_cons_lemma length_wf_nat decidable__le istype-false not-le-2 sq_stable__le condition-implies-le minus-add istype-int minus-one-mul add-swap minus-one-mul-top add-associates add-commutes add_functionality_wrt_le add-zero le-add-cancel2 nat_properties subtract-is-int-iff full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf itermSubtract_wf intformeq_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_term_value_subtract_lemma int_formula_prop_eq_lemma int_formula_prop_wf false_wf le_wf decidable__equal_int itermAdd_wf int_term_value_add_lemma decidable__lt select_wf intformless_wf int_formula_prop_less_lemma equal_wf squash_wf true_wf istype-universe select_append_front select_firstn subtype_rel_self iff_weakening_equal length_firstn_eq add_functionality_wrt_eq select_append_back subtype_base_sq set_subtype_base int_subtype_base select-cons-hd minus-minus add-mul-special zero-add zero-mul
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  Error :lambdaFormation_alt,  cut introduction sqequalRule sqequalHypSubstitution Error :lambdaEquality_alt,  dependent_functionElimination thin hypothesisEquality voidElimination Error :functionIsTypeImplies,  Error :inhabitedIsType,  rename Error :dependent_pairFormation_alt,  extract_by_obid isectElimination hypothesis natural_numberEquality Error :equalityIsType1,  independent_isectElimination Error :universeIsType,  universeEquality Error :isect_memberEquality_alt,  setElimination Error :dependent_set_memberEquality_alt,  unionElimination independent_functionElimination promote_hyp hypothesis_subsumption productElimination addEquality independent_pairFormation imageMemberEquality baseClosed imageElimination applyEquality because_Cache minusEquality equalityTransitivity equalitySymmetry applyLambdaEquality pointwiseFunctionality baseApply closedConclusion approximateComputation int_eqEquality Error :productIsType,  instantiate cumulativity intEquality multiplyEquality

Latex:
\mforall{}[T:Type].  \mforall{}L:T  List.  \mexists{}L':T  List.  (L  =  (L'  @  [last(L)]))  supposing  \mneg{}\muparrow{}null(L)



Date html generated: 2019_06_20-PM-01_19_42
Last ObjectModification: 2018_10_06-AM-11_23_30

Theory : list_1


Home Index