Nuprl Lemma : uconnex_iff_trichot

∀[T:Type]. ∀[R:T ⟶ T ⟶ ℙ].
  ((∀[a,b:T].  Dec(R[a;b]))
  ⇒ (uconnex(T; x,y.R[x;y])
     ⇐⇒ {∀[a,b:T].  (strict_part(x,y.R[x;y];a;b) ∨ Symmetrize(x,y.R[x;y];a;b) ∨ strict_part(x,y.R[x;y];b;a))}))


Proof




Definitions occuring in Statement :  uconnex: uconnex(T; x,y.R[x; y]),  strict_part: strict_part(x,y.R[x; y];a;b),  symmetrize: Symmetrize(x,y.R[x; y];a;b),  decidable: Dec(P),  uall: ∀[x:A]. B[x],  prop: ℙ,  guard: {T},  so_apply: x[s1;s2],  iff: P ⇐⇒ Q,  implies: P ⇒ Q,  or: P ∨ Q,  function: x:A ⟶ B[x],  universe: Type
Definitions unfolded in proof :  guard: {T},  strict_part: strict_part(x,y.R[x; y];a;b),  symmetrize: Symmetrize(x,y.R[x; y];a;b),  uconnex: uconnex(T; x,y.R[x; y]),  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  iff: P ⇐⇒ Q,  and: P ∧ Q,  member: t ∈ T,  prop: ℙ,  so_lambda: λ2x.t[x],  so_apply: x[s1;s2],  so_apply: x[s],  rev_implies: P ⇐ Q,  subtype_rel: A ⊆r B,  or: P ∨ Q,  decidable: Dec(P),  not: ¬A,  false: False
Lemmas referenced :  uall_wf,  or_wf,  subtype_rel_self,  not_wf,  decidable_wf
Rules used in proof :  sqequalSubstitution,  sqequalRule,  sqequalReflexivity,  sqequalTransitivity,  computationStep,  Error :isect_memberFormation_alt,  lambdaFormation,  independent_pairFormation,  Error :inhabitedIsType,  hypothesisEquality,  Error :universeIsType,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  lambdaEquality,  applyEquality,  hypothesis,  productEquality,  instantiate,  universeEquality,  because_Cache,  Error :functionIsType,  unionElimination,  inrFormation,  inlFormation,  functionExtensionality,  independent_functionElimination,  voidElimination,  productElimination

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



Date html generated: 2019_06_20-PM-00_29_25
Last ObjectModification: 2018_09_26-PM-00_01_01

Theory : rel_1


Home Index