Nuprl Lemma : canonicalizable-product

[T:Type]. ∀[B:T ⟶ Type].  (canonicalizable(T)  (∀x:T. canonicalizable(B[x]))  canonicalizable(x:T × B[x]))


Proof




Definitions occuring in Statement :  canonicalizable: canonicalizable(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] exists: x:A. B[x] iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q prop: subtype_rel: A ⊆B uimplies: supposing a
Lemmas referenced :  istype-base canonicalizable-iff canonicalizable_wf istype-universe subtype_rel-equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt cut lambdaFormation_alt productElimination thin productIsType because_Cache universeIsType applyEquality hypothesisEquality sqequalRule functionIsType introduction extract_by_obid hypothesis equalityIstype sqequalBase equalitySymmetry sqequalHypSubstitution independent_functionElimination isectElimination dependent_functionElimination productEquality inhabitedIsType instantiate universeEquality rename dependent_pairFormation_alt baseApply closedConclusion baseClosed dependent_pairEquality_alt lambdaEquality_alt equalityTransitivity independent_isectElimination dependent_set_memberEquality_alt independent_pairFormation applyLambdaEquality setElimination

Latex:
\mforall{}[T:Type].  \mforall{}[B:T  {}\mrightarrow{}  Type].
    (canonicalizable(T)  {}\mRightarrow{}  (\mforall{}x:T.  canonicalizable(B[x]))  {}\mRightarrow{}  canonicalizable(x:T  \mtimes{}  B[x]))



Date html generated: 2019_10_15-AM-10_20_03
Last ObjectModification: 2019_08_29-AM-11_01_39

Theory : call!by!value_2


Home Index