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: 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],  exists: ∃x:A. B[x],  iff: P ⇐⇒ Q,  and: P ∧ Q,  rev_implies: P ⇐ Q,  prop: ℙ,  subtype_rel: A ⊆r B,  uimplies: b 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