Nuprl Lemma : finite-type-product

∀[A:Type]. ∀[B:A ⟶ Type].  (finite-type(A) ⇒ (∀a:A. finite-type(B[a])) ⇒ finite-type(a:A × B[a]))


Proof




Definitions occuring in Statement :  finite-type: finite-type(T),  uall: ∀[x:A]. B[x],  so_apply: x[s],  all: ∀x:A. B[x],  implies: P ⇒ Q,  function: x:A ⟶ B[x],  product: x:A × B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  all: ∀x:A. B[x],  member: t ∈ T,  so_apply: x[s],  iff: P ⇐⇒ Q,  and: P ∧ Q,  rev_implies: P ⇐ Q,  exists: ∃x:A. B[x],  pi1: fst(t),  prop: ℙ,  cand: A c∧ B,  guard: {T}
Lemmas referenced :  finite-type-iff-list,  finite-type_wf,  istype-universe,  concat_wf,  map_wf,  list_wf,  l_member_wf,  member-concat,  member_map
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  lambdaFormation_alt,  cut,  hypothesis,  sqequalHypSubstitution,  dependent_functionElimination,  thin,  hypothesisEquality,  introduction,  extract_by_obid,  isectElimination,  applyEquality,  productElimination,  independent_functionElimination,  because_Cache,  productEquality,  sqequalRule,  functionIsType,  universeIsType,  inhabitedIsType,  instantiate,  universeEquality,  rename,  dependent_pairFormation_alt,  lambdaEquality_alt,  dependent_pairEquality_alt,  equalityIstype,  equalityTransitivity,  equalitySymmetry,  productIsType,  independent_pairFormation

Latex:
\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].    (finite-type(A)  {}\mRightarrow{}  (\mforall{}a:A.  finite-type(B[a]))  {}\mRightarrow{}  finite-type(a:A  \mtimes{}  B[a]))



Date html generated: 2019_10_15-AM-11_13_14
Last ObjectModification: 2018_11_30-AM-10_15_12

Theory : general


Home Index