Nuprl Lemma : bag-from-member-function-exists

[T,A:Type].
  ∀bs:bag(T). ∀P:T ⟶ A ⟶ ℙ.
    ((∀x,y:A.  Dec(x y ∈ A))
     (∀x,y:T.  Dec(x y ∈ T))
     (∀i:T. (i ↓∈ bs  (∃a:A. P[i;a])))
     (∃b:bag(T × A). ((∀i:T. (i ↓∈ bs  i ↓∈ bag-map(λx.(fst(x));b))) ∧ (∀x:T × A. (x ↓∈  P[fst(x);snd(x)])))))


Proof




Definitions occuring in Statement :  bag-member: x ↓∈ bs bag-map: bag-map(f;bs) bag: bag(T) decidable: Dec(P) uall: [x:A]. B[x] prop: so_apply: x[s1;s2] pi1: fst(t) pi2: snd(t) all: x:A. B[x] exists: x:A. B[x] implies:  Q and: P ∧ Q lambda: λx.A[x] function: x:A ⟶ B[x] product: x:A × B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] implies:  Q exists: x:A. B[x] member: t ∈ T prop: so_lambda: λ2x.t[x] so_apply: x[s1;s2] subtype_rel: A ⊆B so_apply: x[s] uimplies: supposing a and: P ∧ Q uiff: uiff(P;Q) rev_uimplies: rev_uimplies(P;Q) bag-member: x ↓∈ bs squash: T pi1: fst(t) inject: Inj(A;B;f) sq_stable: SqStable(P) respects-equality: respects-equality(S;T) true: True guard: {T} iff: ⇐⇒ Q rev_implies:  Q pi2: snd(t)
Lemmas referenced :  bag-map-member-wf bag-member_wf pi1_wf bag-member-evidence subtype_rel_self bag-map_wf pi2_wf decidable_wf equal_wf bag_wf istype-universe bag-member-map2 bag-member-map3-deq sq_stable__bag-member respects-equality-product respects-equality-set-trivial2 respects-equality-trivial istype-base decidable__equal_product squash_wf true_wf iff_weakening_equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt rename dependent_pairFormation_alt cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality productEquality lambdaEquality_alt hypothesis universeIsType setElimination independent_pairEquality because_Cache sqequalRule applyEquality independent_isectElimination setIsType productIsType functionIsType inhabitedIsType instantiate universeEquality independent_pairFormation dependent_functionElimination setEquality productElimination imageElimination imageMemberEquality baseClosed dependent_set_memberEquality_alt equalityIsType1 independent_functionElimination equalitySymmetry equalityTransitivity equalityIstype applyLambdaEquality sqequalBase functionEquality cumulativity natural_numberEquality

Latex:
\mforall{}[T,A:Type].
    \mforall{}bs:bag(T).  \mforall{}P:T  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}.
        ((\mforall{}x,y:A.    Dec(x  =  y))
        {}\mRightarrow{}  (\mforall{}x,y:T.    Dec(x  =  y))
        {}\mRightarrow{}  (\mforall{}i:T.  (i  \mdownarrow{}\mmember{}  bs  {}\mRightarrow{}  (\mexists{}a:A.  P[i;a])))
        {}\mRightarrow{}  (\mexists{}b:bag(T  \mtimes{}  A)
                  ((\mforall{}i:T.  (i  \mdownarrow{}\mmember{}  bs  {}\mRightarrow{}  i  \mdownarrow{}\mmember{}  bag-map(\mlambda{}x.(fst(x));b)))
                  \mwedge{}  (\mforall{}x:T  \mtimes{}  A.  (x  \mdownarrow{}\mmember{}  b  {}\mRightarrow{}  P[fst(x);snd(x)])))))



Date html generated: 2019_10_15-AM-11_04_05
Last ObjectModification: 2019_06_25-PM-01_21_12

Theory : bags


Home Index