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: ⇐⇒ Q implies:  Q set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] implies:  Q iff: ⇐⇒ Q and: P ∧ Q member: t ∈ T prop: so_lambda: λ2x.t[x] so_apply: x[s] rev_implies:  Q squash: T exists: x:A. B[x] uimplies: supposing a uiff: uiff(P;Q) b_all: b_all(T;b;x.P[x]) sq_stable: SqStable(P) subtype_rel: A ⊆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