Nuprl Lemma : unzip_zip

∀[T1,T2:Type]. ∀[as:T1 List]. ∀[bs:T2 List].
  unzip(zip(as;bs)) = <as, bs> ∈ (T1 List × (T2 List)) supposing ||as|| = ||bs|| ∈ ℤ


Proof




Definitions occuring in Statement :  unzip: unzip(as),  zip: zip(as;bs),  length: ||as||,  list: T List,  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  pair: <a, b>,  product: x:A × B[x],  int: ℤ,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  uimplies: b supposing a,  member: t ∈ T,  subtype_rel: A ⊆r B,  nat: ℕ,  so_lambda: λ2x.t[x],  so_apply: x[s]
Lemmas referenced :  unzip-zip,  subtype_rel_list,  top_wf,  istype-int,  length_wf_nat,  set_subtype_base,  le_wf,  int_subtype_base,  list_wf,  istype-universe
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  sqequalRule,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  applyEquality,  hypothesis,  independent_isectElimination,  lambdaEquality_alt,  Error :memTop,  universeIsType,  independent_pairEquality,  equalityIstype,  intEquality,  natural_numberEquality,  sqequalBase,  equalitySymmetry,  inhabitedIsType,  instantiate,  universeEquality

Latex:
\mforall{}[T1,T2:Type].  \mforall{}[as:T1  List].  \mforall{}[bs:T2  List].    unzip(zip(as;bs))  =  <as,  bs>  supposing  ||as||  =  ||bs||



Date html generated: 2020_05_19-PM-09_50_38
Last ObjectModification: 2020_02_27-PM-04_07_28

Theory : list_1


Home Index