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:  Q function: x:A ⟶ B[x] product: x:A × B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q all: x:A. B[x] member: t ∈ T so_apply: x[s] iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q exists: x:A. B[x] pi1: fst(t) prop: cand: 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