Nuprl Lemma : Q-R-glues-conditional
[Info:Type]
  
es:EO+(Info)
    
[Q1,Q2,R:E 
 E 
 
]. 
[A,B:Type].
      
Ia1,Ia2:EClass(A). 
Ib1,Ib2:EClass(B). 
f:E([Ia1?Ia2]) 
 B. 
g1:E(Ib1) 
 E(Ia1). 
g2:E(Ib2) 
 E(Ia2).
        (g1 glues Ia1:Q1 
f
 Ib1:R
           
 g2 glues Ia2:Q2 
f
 Ib2:R
           
 [{Ib1}? g1 : g2] glues [Ia1?Ia2]:Q1|{Ia1} 
 Q2|{Ia2} 
f
 [Ib1?Ib2]:R) supposing 
           (Ib1 
 Ib2 = 0 and 
           Ia1 
 Ia2 = 0)
Proof not projected
Definitions occuring in Statement : 
Q-R-glues: g glues Ia:Qa 
f
 Ib:Rb, 
es-interface-disjoint: X 
 Y = 0, 
es-E-interface: E(X), 
es-interface-predicate: {I}, 
cond-class: [X?Y], 
in-eclass: e 
 X, 
eclass: EClass(A[eo; e]), 
event-ordering+: EO+(Info), 
conditional: [P? f : g], 
es-E: E, 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
prop:
, 
all:
x:A. B[x], 
implies: P 
 Q, 
lambda:
x.A[x], 
function: x:A 
 B[x], 
universe: Type, 
rel_or: R1 
 R2, 
rel-restriction: R|P, 
bool-decider: bool-decider(b)
Definitions : 
so_lambda: 
x y.t[x; y], 
suptype: suptype(S; T), 
true: True, 
ifthenelse: if b then t else f fi , 
guard: {T}, 
btrue: tt, 
or: P 
 Q, 
so_lambda: 
x.t[x], 
subtype: S 
 T, 
cand: A c
 B, 
false: False, 
assert:
b, 
and: P 
 Q, 
not:
A, 
member: t 
 T, 
implies: P 
 Q, 
es-interface-disjoint: X 
 Y = 0, 
uimplies: b supposing a, 
es-E-interface: E(X), 
prop:
, 
all:
x:A. B[x], 
uall:
[x:A]. B[x], 
Q-R-glues: g glues Ia:Qa 
f
 Ib:Rb, 
es-interface-predicate: {I}, 
rel_rev_implies: R1 
 R2, 
predicate_rev_implies: P1 
 P2, 
rev_implies: P 
 Q, 
exists:
x:A. B[x], 
iff: P 

 Q, 
predicate_or: P1 
 P2, 
squash:
T, 
inject: Inj(A;B;f), 
bfalse: ff, 
branch: if p:P then A[p] else B fi , 
conditional: [P? f : g], 
so_apply: x[s1;s2], 
sq_type: SQType(T), 
so_apply: x[s], 
rel-restriction: R|P, 
decidable: Dec(P), 
sq_stable: SqStable(P), 
unit: Unit, 
bool:
, 
it:
Lemmas : 
assert_elim, 
eclass_wf, 
es-interface-disjoint_wf, 
es-E-interface-subtype, 
bool_subtype_base, 
bool_wf, 
subtype_base_sq, 
is-cond-class, 
subtype_rel_self, 
subtype_rel_sets, 
top_wf, 
cond-class_wf, 
es-E-interface_wf, 
subtype_rel_dep_function, 
Q-R-glues_wf, 
event-ordering+_wf, 
event-ordering+_inc, 
es-E_wf, 
es-interface-top, 
in-eclass_wf, 
assert_wf, 
es-interface-conditional-predicate-equivalent, 
weak-antecedent-surjection_functionality_wrt_pred_equiv, 
conditional_wf-interface, 
predicate_or_wf, 
es-interface-predicate_wf, 
decidable__assert, 
bool-decider_wf, 
weak-antecedent-surjection-conditional2, 
rel_equivalent_inversion, 
rel_equivalent_weakening, 
rel_implies_weakening, 
predicate_implies_weakening, 
Q-R-pre-preserving_functionality_wrt_implies, 
es-E-interface-subtype_rel, 
equal_wf, 
exists_wf, 
rel-restriction_wf, 
rel_or_wf, 
subtype_rel_function, 
rel_or_idempotent, 
predicate_equivalent_weakening, 
not_wf, 
conditional_wf, 
or_wf, 
Q-R-pre-preserving-conditional, 
rel-restriction-implies, 
decidable_wf, 
es-interface-conditional-domain-member, 
sq_stable__assert, 
conditional_wf2, 
assert_of_bnot, 
eqff_to_assert, 
bnot_wf, 
uiff_transitivity, 
eqtt_to_assert, 
iff_weakening_uiff, 
cond-class-val, 
es-E-interface-conditional-subtype1, 
es-E-interface-conditional-subtype2
\mforall{}[Info:Type]
    \mforall{}es:EO+(Info)
        \mforall{}[Q1,Q2,R:E  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[A,B:Type].
            \mforall{}Ia1,Ia2:EClass(A).  \mforall{}Ib1,Ib2:EClass(B).  \mforall{}f:E([Ia1?Ia2])  {}\mrightarrow{}  B.  \mforall{}g1:E(Ib1)  {}\mrightarrow{}  E(Ia1).
            \mforall{}g2:E(Ib2)  {}\mrightarrow{}  E(Ia2).
                (g1  glues  Ia1:Q1  {}{}f{}\mrightarrow{}  Ib1:R
                      {}\mRightarrow{}  g2  glues  Ia2:Q2  {}{}f{}\mrightarrow{}  Ib2:R
                      {}\mRightarrow{}  [\{Ib1\}?  g1  :  g2]  glues  [Ia1?Ia2]:Q1|\{Ia1\}  \mvee{}  Q2|\{Ia2\}  {}{}f{}\mrightarrow{}  [Ib1?Ib2]:R)  supposing 
                      (Ib1  \mcap{}  Ib2  =  0  and 
                      Ia1  \mcap{}  Ia2  =  0)
Date html generated:
2012_01_23-PM-12_28_58
Last ObjectModification:
2011_12_13-PM-02_05_12
Home
Index