### Nuprl Lemma : b_all-map2

`∀[A,B:Type].`
`  ∀b:bag(A). ∀f:{a:A| a ↓∈ b}  ⟶ B. ∀P:B ⟶ ℙ.`
`    ((∀b:B. SqStable(P[b])) `` (b_all(B;bag-map(f;b);x.P[x]) `⇐⇒` b_all(A;b;x.P[f x])))`

Proof

Definitions occuring in Statement :  b_all: `b_all(T;b;x.P[x])` bag-member: `x ↓∈ bs` bag-map: `bag-map(f;bs)` bag: `bag(T)` sq_stable: `SqStable(P)` uall: `∀[x:A]. B[x]` prop: `ℙ` so_apply: `x[s]` all: `∀x:A. B[x]` iff: `P `⇐⇒` Q` implies: `P `` Q` set: `{x:A| B[x]} ` apply: `f a` function: `x:A ⟶ B[x]` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` implies: `P `` Q` iff: `P `⇐⇒` Q` and: `P ∧ Q` member: `t ∈ T` prop: `ℙ` so_lambda: `λ2x.t[x]` so_apply: `x[s]` rev_implies: `P `` Q` squash: `↓T` exists: `∃x:A. B[x]` uimplies: `b supposing a` uiff: `uiff(P;Q)` b_all: `b_all(T;b;x.P[x])` sq_stable: `SqStable(P)` subtype_rel: `A ⊆r B` guard: `{T}`
Lemmas referenced :  b_all_wf bag-map_wf bag-member_wf bag-subtype istype-universe sq_stable_wf bag_wf equal_wf bag-member-map2 sq_stable__bag-member subtype_rel_self iff_weakening_equal squash_wf exists_wf iff_weakening_uiff b_all-wf2
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt independent_pairFormation universeIsType cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality because_Cache setEquality hypothesis dependent_functionElimination equalityTransitivity equalitySymmetry sqequalRule lambdaEquality_alt applyEquality functionIsType universeEquality setIsType inhabitedIsType baseClosed imageMemberEquality rename setElimination dependent_pairFormation independent_isectElimination productElimination independent_functionElimination dependent_set_memberEquality lambdaFormation imageElimination instantiate dependent_set_memberEquality_alt

Latex:
\mforall{}[A,B:Type].
\mforall{}b:bag(A).  \mforall{}f:\{a:A|  a  \mdownarrow{}\mmember{}  b\}    {}\mrightarrow{}  B.  \mforall{}P:B  {}\mrightarrow{}  \mBbbP{}.
((\mforall{}b:B.  SqStable(P[b]))  {}\mRightarrow{}  (b\_all(B;bag-map(f;b);x.P[x])  \mLeftarrow{}{}\mRightarrow{}  b\_all(A;b;x.P[f  x])))

Date html generated: 2019_10_15-AM-11_02_51
Last ObjectModification: 2018_10_12-AM-09_52_59

Theory : bags

Home Index