Nuprl Lemma : Q-R-glues-split
∀[Info:Type]. ∀[P:es:EO+(Info) ─→ E ─→ ℙ].
  ∀p:∀es:EO+(Info). ∀e:E.  Dec(P[es;e])
    ∀[A,B:Type].
      ∀Ia:EClass(A). ∀Ib:EClass(B).
        ((Singlevalued(Ia) ∧ Singlevalued(Ib))
        ⇒ (∀g1:es:EO+(Info) ─→ E(Ib) ─→ E. ∀q:∀es:EO+(Info). ∀e:E.  Dec((↑e ∈b Ib) c∧ P[es;g1 es e]). ∀es:EO+(Info).
              ∀[Q,R:E ─→ E ─→ ℙ].
                ((∀x,y:E.  ((Q x y) ⇒ (P[es;x] ⇐⇒ P[es;y])))
                ⇒ (∀f:E(Ia) ─→ B. ∀g2:E(Ib) ─→ E.
                      (g1 es glues (Ia|p):Q ──f─→ (Ib|q):R
                      ⇒ g2 glues (Ia|¬p):Q ──f─→ (Ib|¬q):R
                      ⇒ [λe.P[es;g1 es e]? g1 es : g2] glues Ia:Q ──f─→ Ib:R)))))
Proof
Definitions occuring in Statement : 
Q-R-glues: g glues Ia:Qa ──f─→ Ib:Rb, 
es-interface-co-restrict: (I|¬p), 
es-interface-restrict: (I|p), 
es-E-interface: E(X), 
sv-class: Singlevalued(X), 
in-eclass: e ∈b X, 
eclass: EClass(A[eo; e]), 
event-ordering+: EO+(Info), 
conditional: [P? f : g], 
es-E: E, 
compose: f o g, 
assert: ↑b, 
decidable: Dec(P), 
uall: ∀[x:A]. B[x], 
cand: A c∧ B, 
prop: ℙ, 
so_apply: x[s1;s2], 
all: ∀x:A. B[x], 
iff: P ⇐⇒ Q, 
implies: P ⇒ Q, 
and: P ∧ Q, 
apply: f a, 
lambda: λx.A[x], 
function: x:A ─→ B[x], 
universe: Type
Lemmas : 
Q-R-glues_wf, 
es-interface-co-restrict_wf, 
subtype_rel_dep_function, 
es-E-interface_wf, 
top_wf, 
es-E-interface-co-restrict, 
subtype_rel_self, 
es-interface-restrict_wf, 
es-E_wf, 
event-ordering+_subtype, 
assert_wf, 
in-eclass_wf, 
es-E-interface-restrict, 
es-interface-subtype_rel2, 
all_wf, 
iff_wf, 
decidable_wf, 
sv-class_wf, 
eclass_wf, 
event-ordering+_wf, 
cond-class_wf, 
es-E-interface-conditional-subtype_rel, 
es-interface-restrict-disjoint, 
Q-R-glues-conditional2, 
or_wf, 
es-is-interface-restrict, 
assert_elim, 
subtype_base_sq, 
bool_wf, 
bool_subtype_base, 
es-is-interface-co-restrict, 
bool-decider_wf, 
equal_wf, 
es-interface-restrict-conditional, 
es-E-interface_functionality, 
and_wf, 
member_wf, 
squash_wf, 
true_wf, 
equal_functionality_wrt_subtype_rel2, 
subtype_rel_weakening, 
ext-eq_weakening, 
rel_equivalent_wf, 
rel_or_wf, 
rel-restriction_wf, 
es-interface-predicate_wf, 
Q-R-glues_functionality, 
event-ordering+_cumulative2
Latex:
\mforall{}[Info:Type].  \mforall{}[P:es:EO+(Info)  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].
    \mforall{}p:\mforall{}es:EO+(Info).  \mforall{}e:E.    Dec(P[es;e])
        \mforall{}[A,B:Type].
            \mforall{}Ia:EClass(A).  \mforall{}Ib:EClass(B).
                ((Singlevalued(Ia)  \mwedge{}  Singlevalued(Ib))
                {}\mRightarrow{}  (\mforall{}g1:es:EO+(Info)  {}\mrightarrow{}  E(Ib)  {}\mrightarrow{}  E.  \mforall{}q:\mforall{}es:EO+(Info).  \mforall{}e:E.
                                                                                                  Dec((\muparrow{}e  \mmember{}\msubb{}  Ib)  c\mwedge{}  P[es;g1  es  e]).  \mforall{}es:EO+(Info).
                            \mforall{}[Q,R:E  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].
                                ((\mforall{}x,y:E.    ((Q  x  y)  {}\mRightarrow{}  (P[es;x]  \mLeftarrow{}{}\mRightarrow{}  P[es;y])))
                                {}\mRightarrow{}  (\mforall{}f:E(Ia)  {}\mrightarrow{}  B.  \mforall{}g2:E(Ib)  {}\mrightarrow{}  E.
                                            (g1  es  glues  (Ia|p):Q  {}{}f{}\mrightarrow{}  (Ib|q):R
                                            {}\mRightarrow{}  g2  glues  (Ia|\mneg{}p):Q  {}{}f{}\mrightarrow{}  (Ib|\mneg{}q):R
                                            {}\mRightarrow{}  [\mlambda{}e.P[es;g1  es  e]?  g1  es  :  g2]  glues  Ia:Q  {}{}f{}\mrightarrow{}  Ib:R)))))
Date html generated:
2015_07_21-PM-04_11_02
Last ObjectModification:
2015_01_27-PM-06_05_51
Home
Index