Nuprl Lemma : zip_unzip

[T1,T2:Type]. ∀[as:(T1 × T2) List].  (zip(fst(unzip(as));snd(unzip(as))) as ∈ ((T1 × T2) List))


Proof




Definitions occuring in Statement :  unzip: unzip(as) zip: zip(as;bs) list: List uall: [x:A]. B[x] pi1: fst(t) pi2: snd(t) product: x:A × B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  unzip: unzip(as) uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] all: x:A. B[x] implies:  Q prop: pi1: fst(t) pi2: snd(t) top: Top squash: T true: True
Lemmas referenced :  list_induction equal_wf list_wf zip_wf map_wf pi1_wf pi2_wf map_nil_lemma zip_nil_lemma nil_wf map_cons_lemma zip_cons_cons_lemma cons_wf squash_wf true_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination productEquality cumulativity hypothesisEquality lambdaEquality hypothesis independent_pairEquality productElimination lambdaFormation equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination because_Cache isect_memberEquality voidElimination voidEquality rename axiomEquality universeEquality applyEquality imageElimination natural_numberEquality imageMemberEquality baseClosed

Latex:
\mforall{}[T1,T2:Type].  \mforall{}[as:(T1  \mtimes{}  T2)  List].    (zip(fst(unzip(as));snd(unzip(as)))  =  as)



Date html generated: 2017_04_17-AM-08_55_36
Last ObjectModification: 2017_02_27-PM-05_10_23

Theory : list_1


Home Index