Nuprl Lemma : uorder_split

∀[T:Type]. ∀[R:T ⟶ T ⟶ ℙ].
  (UniformOrder(T;x,y.R[x;y])
  ⇒ (∀[x,y:T].  Dec(x = y ∈ T))
  ⇒ (∀[a,b:T].  (R[a;b] ⇐⇒ strict_part(x,y.R[x;y];a;b) ∨ (a = b ∈ T))))


Proof




Definitions occuring in Statement :  uorder: UniformOrder(T;x,y.R[x; y]),  strict_part: strict_part(x,y.R[x; y];a;b),  decidable: Dec(P),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s1;s2],  iff: P ⇐⇒ Q,  implies: P ⇒ Q,  or: P ∨ Q,  function: x:A ⟶ B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  strict_part: strict_part(x,y.R[x; y];a;b),  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  iff: P ⇐⇒ Q,  and: P ∧ Q,  uorder: UniformOrder(T;x,y.R[x; y]),  uanti_sym: UniformlyAntiSym(T;x,y.R[x; y]),  utrans: UniformlyTrans(T;x,y.E[x; y]),  urefl: UniformlyRefl(T;x,y.E[x; y]),  member: t ∈ T,  prop: ℙ,  so_apply: x[s1;s2],  rev_implies: P ⇐ Q,  subtype_rel: A ⊆r B,  so_lambda: λ2x.t[x],  so_apply: x[s],  so_lambda: λ2x y.t[x; y],  decidable: Dec(P),  or: P ∨ Q,  cand: A c∧ B,  not: ¬A,  false: False,  guard: {T},  uimplies: b supposing a
Lemmas referenced :  or_wf,  subtype_rel_self,  not_wf,  equal_wf,  uall_wf,  decidable_wf,  uorder_wf,  and_wf
Rules used in proof :  sqequalSubstitution,  sqequalRule,  sqequalReflexivity,  sqequalTransitivity,  computationStep,  Error :isect_memberFormation_alt,  lambdaFormation,  independent_pairFormation,  sqequalHypSubstitution,  productElimination,  thin,  applyEquality,  hypothesisEquality,  cut,  introduction,  extract_by_obid,  isectElimination,  productEquality,  hypothesis,  instantiate,  universeEquality,  Error :inhabitedIsType,  Error :universeIsType,  lambdaEquality,  Error :functionIsType,  unionElimination,  inrFormation,  inlFormation,  independent_isectElimination,  independent_functionElimination,  hyp_replacement,  equalitySymmetry,  dependent_set_memberEquality,  applyLambdaEquality,  setElimination,  rename

Latex:
\mforall{}[T:Type].  \mforall{}[R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}].
    (UniformOrder(T;x,y.R[x;y])
    {}\mRightarrow{}  (\mforall{}[x,y:T].    Dec(x  =  y))
    {}\mRightarrow{}  (\mforall{}[a,b:T].    (R[a;b]  \mLeftarrow{}{}\mRightarrow{}  strict\_part(x,y.R[x;y];a;b)  \mvee{}  (a  =  b))))



Date html generated: 2019_06_20-PM-00_29_55
Last ObjectModification: 2018_09_26-PM-00_04_57

Theory : rel_1


Home Index