Nuprl Lemma : append-unroll

∀[as,bs:Top].  (as @ bs ~ if as is a pair then [fst(as) / ((snd(as)) @ bs)] otherwise if as = Ax then bs otherwise ⊥)


Proof




Definitions occuring in Statement :  append: as @ bs,  cons: [a / b],  bottom: ⊥,  uall: ∀[x:A]. B[x],  top: Top,  pi1: fst(t),  pi2: snd(t),  ispair: if z is a pair then a otherwise b,  isaxiom: if z = Ax then a otherwise b,  sqequal: s ~ t
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  append: as @ bs,  list_ind: list_ind,  has-value: (a)↓,  all: ∀x:A. B[x],  implies: P ⇒ Q,  or: P ∨ Q,  cons: [a / b],  pi1: fst(t),  pi2: snd(t),  top: Top
Lemmas referenced :  top_wf,  is-exception_wf,  has-value_wf_base,  has-value-implies-dec-ispair-2
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  sqequalRule,  sqequalSqle,  sqleRule,  thin,  divergentSqle,  callbyvalueCallbyvalue,  sqequalHypSubstitution,  hypothesis,  callbyvalueReduce,  lemma_by_obid,  dependent_functionElimination,  hypothesisEquality,  independent_functionElimination,  unionElimination,  sqleReflexivity,  isectElimination,  baseApply,  closedConclusion,  baseClosed,  lambdaFormation,  isect_memberEquality,  voidElimination,  voidEquality,  because_Cache,  callbyvalueExceptionCases,  axiomSqleEquality,  exceptionSqequal,  callbyvalueIspair,  ispairExceptionCases,  sqequalAxiom

Latex:
\mforall{}[as,bs:Top].
    (as  @  bs  \msim{}  if  as  is  a  pair  then  [fst(as)  /  ((snd(as))  @  bs)]
                          otherwise  if  as  =  Ax  then  bs  otherwise  \mbot{})



Date html generated: 2016_05_14-AM-06_30_51
Last ObjectModification: 2016_01_14-PM-08_25_20

Theory : list_0


Home Index