### 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: `T List` assert: `↑b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` not: `¬A` 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` not: `¬A` implies: `P `` Q` false: `False` exists: `∃x:A. B[x]` prop: `ℙ` top: `Top` nat: `ℕ` int_iseg: `{i...j}` and: `P ∧ Q` cand: `A c∧ B` or: `P ∨ Q` assert: `↑b` ifthenelse: `if b then t else f fi ` btrue: `tt` true: `True` cons: `[a / b]` bfalse: `ff` guard: `{T}` decidable: `Dec(P)` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` uiff: `uiff(P;Q)` sq_stable: `SqStable(P)` squash: `↓T` subtract: `n - m` subtype_rel: `A ⊆r B` le: `A ≤ B` less_than': `less_than'(a;b)` ge: `i ≥ j ` 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)`
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