### Nuprl Lemma : bag-member-partitions

`∀[T:Type]`
`  ∀[eq:EqDecider(T)]. ∀[as,bs,cs:bag(T)].  uiff(<as, bs> ↓∈ bag-partitions(eq;cs);(as + bs) = cs ∈ bag(T)) `
`  supposing valueall-type(T)`

Proof

Definitions occuring in Statement :  bag-partitions: `bag-partitions(eq;bs)` bag-member: `x ↓∈ bs` bag-append: `as + bs` bag: `bag(T)` deq: `EqDecider(T)` valueall-type: `valueall-type(T)` uiff: `uiff(P;Q)` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` pair: `<a, b>` product: `x:A × B[x]` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` uimplies: `b supposing a` bag-partitions: `bag-partitions(eq;bs)` product-deq: `product-deq(A;B;a;b)` so_lambda: `λ2x.t[x]` so_apply: `x[s]` implies: `P `` Q` all: `∀x:A. B[x]` callbyvalueall: callbyvalueall has-value: `(a)↓` has-valueall: `has-valueall(a)` uiff: `uiff(P;Q)` and: `P ∧ Q` prop: `ℙ` bag-member: `x ↓∈ bs` squash: `↓T` iff: `P `⇐⇒` Q` rev_implies: `P `` Q`
Lemmas referenced :  product-deq_wf bag_wf bag-deq_wf valueall-type-has-valueall bag-valueall-type product-valueall-type bag-splits_wf evalall-reduce bag-member_wf bag-partitions_wf equal_wf bag-append_wf deq_wf valueall-type_wf bag-member-splits iff_weakening_uiff bag-to-set_wf member-bag-to-set uiff_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality hypothesis sqequalRule productEquality independent_isectElimination lambdaEquality independent_functionElimination lambdaFormation because_Cache dependent_functionElimination callbyvalueReduce productElimination independent_pairEquality isect_memberEquality axiomEquality equalityTransitivity equalitySymmetry imageElimination imageMemberEquality baseClosed universeEquality addLevel independent_pairFormation

Latex:
\mforall{}[T:Type]
\mforall{}[eq:EqDecider(T)].  \mforall{}[as,bs,cs:bag(T)].    uiff(<as,  bs>  \mdownarrow{}\mmember{}  bag-partitions(eq;cs);(as  +  bs)  =  cs)
supposing  valueall-type(T)

Date html generated: 2018_05_21-PM-09_49_34
Last ObjectModification: 2017_07_26-PM-06_31_12

Theory : bags_2

Home Index