Nuprl Lemma : strong-subtype-product

∀[A,B,C,D:Type].  (strong-subtype(A × B;C × D)) supposing (strong-subtype(B;D) and strong-subtype(A;C))


Proof




Definitions occuring in Statement :  strong-subtype: strong-subtype(A;B),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  product: x:A × B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  uimplies: b supposing a,  implies: P ⇒ Q,  guard: {T},  strong-subtype: strong-subtype(A;B),  cand: A c∧ B,  so_lambda: λ2x.t[x],  so_apply: x[s],  all: ∀x:A. B[x],  subtype_rel: A ⊆r B,  exists: ∃x:A. B[x],  prop: ℙ,  pi1: fst(t),  pi2: snd(t)
Lemmas referenced :  strong-subtype-implies,  subtype_rel_product,  exists_wf,  equal_wf,  strong-subtype_witness,  strong-subtype_wf,  pi1_wf,  pi2_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  lemma_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  independent_functionElimination,  hypothesis,  productElimination,  sqequalRule,  lambdaEquality,  independent_isectElimination,  lambdaFormation,  because_Cache,  independent_pairFormation,  setElimination,  rename,  independent_pairEquality,  setEquality,  productEquality,  applyEquality,  isect_memberEquality,  equalityTransitivity,  equalitySymmetry,  universeEquality,  dependent_set_memberEquality,  dependent_pairFormation,  equalityUniverse,  levelHypothesis

Latex:
\mforall{}[A,B,C,D:Type].
    (strong-subtype(A  \mtimes{}  B;C  \mtimes{}  D))  supposing  (strong-subtype(B;D)  and  strong-subtype(A;C))



Date html generated: 2016_05_13-PM-04_11_20
Last ObjectModification: 2015_12_26-AM-11_21_28

Theory : subtype_1


Home Index