Nuprl Lemma : l-last-cons

[u,v:Top].  (l-last([u v]) if null(v) then else l-last(v) fi )


Proof




Definitions occuring in Statement :  l-last: l-last(l) null: null(as) cons: [a b] ifthenelse: if then else fi  uall: [x:A]. B[x] top: Top sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T l-last: l-last(l) null: null(as) l-last-default: l-last-default(l;d) all: x:A. B[x] so_lambda: so_lambda(x,y,z.t[x; y; z]) top: Top so_apply: x[s1;s2;s3] list_ind: list_ind so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]) so_apply: x[s1;s2;s3;s4] uimplies: supposing a strict4: strict4(F) and: P ∧ Q implies:  Q has-value: (a)↓ prop: guard: {T} or: P ∨ Q squash: T so_lambda: λ2x.t[x] so_apply: x[s] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] ifthenelse: if then else fi  bfalse: ff btrue: tt
Lemmas referenced :  strictness-decide union-value-type value-type-has-value bottom-sqle has-value-implies-dec-isaxiom-2 has-value-implies-dec-ispair-2 has-value-ifthenelse-type top_wf strictness-apply lifting-strict-isaxiom lifting-strict-spread lifting-strict-ispair is-exception_wf base_wf has-value_wf_base lifting-strict-callbyvalue list_ind_cons_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalRule lemma_by_obid sqequalHypSubstitution dependent_functionElimination thin isect_memberEquality voidElimination voidEquality hypothesis isectElimination baseClosed independent_isectElimination independent_pairFormation lambdaFormation callbyvalueApply baseApply closedConclusion hypothesisEquality applyExceptionCases inrFormation imageMemberEquality imageElimination exceptionSqequal inlFormation because_Cache sqequalAxiom sqequalSqle divergentSqle callbyvalueCallbyvalue callbyvalueReduce callbyvalueExceptionCases axiomSqleEquality equalityTransitivity equalitySymmetry decideExceptionCases independent_functionElimination unionElimination sqleReflexivity rename unionEquality callbyvalueIspair ispairExceptionCases

Latex:
\mforall{}[u,v:Top].    (l-last([u  /  v])  \msim{}  if  null(v)  then  u  else  l-last(v)  fi  )



Date html generated: 2016_05_14-AM-07_42_01
Last ObjectModification: 2016_01_15-AM-08_42_16

Theory : list_1


Home Index