Nuprl Lemma : sub-bag-mapfilter-implies

[A,B:Type].
  ∀as:bag(A). ∀bs:bag(B). ∀f:A ⟶ B. ∀P:A ⟶ 𝔹.  (sub-bag(B;bag-map(f;as);bs)  sub-bag(B;bag-mapfilter(f;P;as);bs))


Proof




Definitions occuring in Statement :  sub-bag: sub-bag(T;as;bs) bag-mapfilter: bag-mapfilter(f;P;bs) bag-map: bag-map(f;bs) bag: bag(T) bool: 𝔹 uall: [x:A]. B[x] all: x:A. B[x] implies:  Q function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] implies:  Q sub-bag: sub-bag(T;as;bs) bag-mapfilter: bag-mapfilter(f;P;bs) exists: x:A. B[x] member: t ∈ T prop: so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B uimplies: supposing a top: Top
Lemmas referenced :  bag-filter-split equal_wf bag_wf bag-append_wf bag-map_wf bag-map-append bag-filter_wf subtype_rel_bag top_wf assert_wf bnot_wf subtype_rel_dep_function set_wf bag-append-assoc sub-bag_wf bool_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation sqequalHypSubstitution productElimination thin cut introduction extract_by_obid isectElimination hypothesisEquality equalitySymmetry hypothesis hyp_replacement Error :applyLambdaEquality,  cumulativity equalityTransitivity functionExtensionality applyEquality sqequalRule lambdaEquality setEquality independent_isectElimination isect_memberEquality voidElimination voidEquality because_Cache dependent_pairFormation setElimination rename functionEquality

Latex:
\mforall{}[A,B:Type].
    \mforall{}as:bag(A).  \mforall{}bs:bag(B).  \mforall{}f:A  {}\mrightarrow{}  B.  \mforall{}P:A  {}\mrightarrow{}  \mBbbB{}.
        (sub-bag(B;bag-map(f;as);bs)  {}\mRightarrow{}  sub-bag(B;bag-mapfilter(f;P;as);bs))



Date html generated: 2016_10_25-AM-10_38_00
Last ObjectModification: 2016_07_12-AM-06_51_32

Theory : bags


Home Index