Nuprl Lemma : pair-order

∀[A,B:Type]. ∀[Ra:A ⟶ A ⟶ ℙ]. ∀[Rb:B ⟶ B ⟶ ℙ].
  (Order(A;a,a'.Ra[a;a'])
  ⇒ Order(B;b,b'.Rb[b;b'])
  ⇒ Order(A × B;x,y.Ra[fst(x);fst(y)] ∧ ((¬((fst(x)) = (fst(y)) ∈ A)) ∨ Rb[snd(x);snd(y)])))


Proof




Definitions occuring in Statement :  order: Order(T;x,y.R[x; y]),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s1;s2],  pi1: fst(t),  pi2: snd(t),  not: ¬A,  implies: P ⇒ Q,  or: P ∨ Q,  and: P ∧ Q,  function: x:A ⟶ B[x],  product: x:A × B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  order: Order(T;x,y.R[x; y]),  and: P ∧ Q,  cand: A c∧ B,  refl: Refl(T;x,y.E[x; y]),  all: ∀x:A. B[x],  decidable: Dec(P),  or: P ∨ Q,  pi1: fst(t),  member: t ∈ T,  prop: ℙ,  so_lambda: λ2x.t[x],  so_apply: x[s],  guard: {T},  so_apply: x[s1;s2],  trans: Trans(T;x,y.E[x; y]),  pi2: snd(t),  subtype_rel: A ⊆r B,  anti_sym: AntiSym(T;x,y.R[x; y]),  so_lambda: λ2x y.t[x; y],  not: ¬A,  false: False
Lemmas referenced :  not_wf,  equal_wf,  pi1_wf,  pi2_wf,  or_wf,  order_wf,  and_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  lambdaFormation,  sqequalHypSubstitution,  productElimination,  thin,  cut,  independent_pairFormation,  hypothesis,  inlFormation,  sqequalRule,  hypothesisEquality,  introduction,  extract_by_obid,  isectElimination,  cumulativity,  lambdaEquality,  independent_pairEquality,  unionElimination,  inrFormation,  applyEquality,  functionExtensionality,  productEquality,  because_Cache,  functionEquality,  universeEquality,  dependent_functionElimination,  independent_functionElimination,  equalityTransitivity,  equalitySymmetry,  hyp_replacement,  dependent_set_memberEquality,  applyLambdaEquality,  setElimination,  rename,  voidElimination

Latex:
\mforall{}[A,B:Type].  \mforall{}[Ra:A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[Rb:B  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
    (Order(A;a,a'.Ra[a;a'])
    {}\mRightarrow{}  Order(B;b,b'.Rb[b;b'])
    {}\mRightarrow{}  Order(A  \mtimes{}  B;x,y.Ra[fst(x);fst(y)]  \mwedge{}  ((\mneg{}((fst(x))  =  (fst(y))))  \mvee{}  Rb[snd(x);snd(y)])))



Date html generated: 2017_02_20-AM-10_47_10
Last ObjectModification: 2017_02_02-PM-10_10_45

Theory : rel_1


Home Index