Nuprl Lemma : mapfilter-class_functionality
∀[Info,A1,A2,B:Type]. ∀[P1:A1 ─→ 𝔹]. ∀[P2:A2 ─→ 𝔹]. ∀[f1:A1 ─→ B]. ∀[f2:A2 ─→ B]. ∀[X1:EClass(A1)]. ∀[X2:EClass(A2)].
  (f1[v] where v from X1 such that P1[v]) = (f2[v] where v from X2 such that P2[v]) ∈ EClass(B) 
  supposing ∀es:EO+(Info). ∀e:E.
              ((↑e ∈b X1 
⇐⇒ ↑e ∈b X2)
              ∧ ((↑e ∈b X1)
                
⇒ (↑e ∈b X2)
                
⇒ ((↑P1[X1(e)] 
⇐⇒ ↑P2[X2(e)]) ∧ ((↑P1[X1(e)]) 
⇒ (↑P2[X2(e)]) 
⇒ (f1[X1(e)] = f2[X2(e)] ∈ B)))))
Proof
Definitions occuring in Statement : 
mapfilter-class: (f[v] where v from X such that P[v])
, 
eclass-val: X(e)
, 
in-eclass: e ∈b X
, 
eclass: EClass(A[eo; e])
, 
event-ordering+: EO+(Info)
, 
es-E: E
, 
assert: ↑b
, 
bool: 𝔹
, 
uimplies: b supposing a
, 
uall: ∀[x:A]. B[x]
, 
so_apply: x[s]
, 
all: ∀x:A. B[x]
, 
iff: P 
⇐⇒ Q
, 
implies: P 
⇒ Q
, 
and: P ∧ Q
, 
function: x:A ─→ B[x]
, 
universe: Type
, 
equal: s = t ∈ T
Lemmas : 
es-interface-extensionality, 
mapfilter-class_wf, 
is-mapfilter-class, 
es-E-interface-property, 
es-interface-subtype_rel2, 
es-E_wf, 
event-ordering+_subtype, 
assert_wf, 
in-eclass_wf, 
top_wf, 
all_wf, 
event-ordering+_wf, 
iff_wf, 
eclass-val_wf, 
eclass_wf, 
bool_wf, 
mapfilter-class-val, 
eqtt_to_assert, 
bag_size_single_lemma, 
false_wf, 
eqff_to_assert, 
equal_wf, 
bool_cases_sqequal, 
subtype_base_sq, 
bool_subtype_base, 
assert-bnot, 
bag_size_empty_lemma
\mforall{}[Info,A1,A2,B:Type].  \mforall{}[P1:A1  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[P2:A2  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f1:A1  {}\mrightarrow{}  B].  \mforall{}[f2:A2  {}\mrightarrow{}  B].  \mforall{}[X1:EClass(A1)].
\mforall{}[X2:EClass(A2)].
    (f1[v]  where  v  from  X1  such  that  P1[v])  =  (f2[v]  where  v  from  X2  such  that  P2[v]) 
    supposing  \mforall{}es:EO+(Info).  \mforall{}e:E.
                            ((\muparrow{}e  \mmember{}\msubb{}  X1  \mLeftarrow{}{}\mRightarrow{}  \muparrow{}e  \mmember{}\msubb{}  X2)
                            \mwedge{}  ((\muparrow{}e  \mmember{}\msubb{}  X1)
                                {}\mRightarrow{}  (\muparrow{}e  \mmember{}\msubb{}  X2)
                                {}\mRightarrow{}  ((\muparrow{}P1[X1(e)]  \mLeftarrow{}{}\mRightarrow{}  \muparrow{}P2[X2(e)])
                                      \mwedge{}  ((\muparrow{}P1[X1(e)])  {}\mRightarrow{}  (\muparrow{}P2[X2(e)])  {}\mRightarrow{}  (f1[X1(e)]  =  f2[X2(e)])))))
Date html generated:
2015_07_17-PM-01_07_49
Last ObjectModification:
2015_01_27-PM-10_39_26
Home
Index