Nuprl Lemma : strong-subtype_functionality

∀[A1,B1,A2,B2:Type].  (A1 ≡ A2 ⇒ B1 ≡ B2 ⇒ strong-subtype(A1;B1) ⇒ strong-subtype(A2;B2))


Proof




Definitions occuring in Statement :  strong-subtype: strong-subtype(A;B),  ext-eq: A ≡ B,  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  universe: Type
Definitions unfolded in proof :  strong-subtype: strong-subtype(A;B),  uall: ∀[x:A]. B[x],  member: t ∈ T,  implies: P ⇒ Q,  cand: A c∧ B,  guard: {T},  uimplies: b supposing a,  prop: ℙ,  so_lambda: λ2x.t[x],  subtype_rel: A ⊆r B,  so_apply: x[s],  exists: ∃x:A. B[x]
Lemmas referenced :  ext-eq_inversion,  subtype_rel_transitivity,  subtype_rel_weakening,  subtype_rel_wf,  exists_wf,  equal_wf,  ext-eq_wf
Rules used in proof :  sqequalSubstitution,  sqequalRule,  sqequalReflexivity,  sqequalTransitivity,  computationStep,  isect_memberFormation,  introduction,  cut,  lambdaFormation,  sqequalHypSubstitution,  productElimination,  thin,  lemma_by_obid,  isectElimination,  hypothesisEquality,  independent_isectElimination,  hypothesis,  because_Cache,  independent_pairFormation,  productEquality,  setEquality,  lambdaEquality,  applyEquality,  dependent_functionElimination,  independent_pairEquality,  axiomEquality,  universeEquality,  isect_memberEquality,  equalityElimination,  setElimination,  rename,  dependent_set_memberEquality,  dependent_pairFormation

Latex:
\mforall{}[A1,B1,A2,B2:Type].    (A1  \mequiv{}  A2  {}\mRightarrow{}  B1  \mequiv{}  B2  {}\mRightarrow{}  strong-subtype(A1;B1)  {}\mRightarrow{}  strong-subtype(A2;B2))



Date html generated: 2016_05_13-PM-04_11_07
Last ObjectModification: 2015_12_26-AM-11_21_52

Theory : subtype_1


Home Index