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