Step * 2 of Lemma bag-member-parts'


1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. T
5. bs bag(T)
6. ¬(bs {} ∈ bag(T))
7. bag(T) List+
⊢ uiff(L ↓∈ let pts ⟵ bag-parts(eq;bs)
            in bag-map(λL.[{} L];pts) [L∈pts|((#x in hd(L)) =z 0)];(¬x ↓∈ hd(L))
∧ (∀x∈tl(L).¬(x {} ∈ bag(T)))
∧ (bag-union(L) bs ∈ bag(T)))
BY
((CallByValueReduce THENA Auto)
   THEN (RWO "bag-member-append" THENA Try (Complete ((Auto THEN DoSubsume THEN Auto))))⋅
   THEN (RWO "bag-member-map" THENA Try (Complete ((Auto THEN DoSubsume THEN Auto))))⋅}

1
1. Type
2. valueall-type(T)
3. eq EqDecider(T)
4. T
5. bs bag(T)
6. ¬(bs {} ∈ bag(T))
7. bag(T) List+
⊢ uiff((↓∃v:bag(T) List+(v ↓∈ bag-parts(eq;bs) ∧ (L ((λL.[{} L]) v) ∈ bag(T) List+)))
↓∨ L ↓∈ [L∈bag-parts(eq;bs)|((#x in hd(L)) =z 0)];(¬x ↓∈ hd(L))
∧ (∀x∈tl(L).¬(x {} ∈ bag(T)))
∧ (bag-union(L) bs ∈ bag(T)))


Latex:


Latex:

1.  T  :  Type
2.  valueall-type(T)
3.  eq  :  EqDecider(T)
4.  x  :  T
5.  bs  :  bag(T)
6.  \mneg{}(bs  =  \{\})
7.  L  :  bag(T)  List\msupplus{}
\mvdash{}  uiff(L  \mdownarrow{}\mmember{}  let  pts  \mleftarrow{}{}  bag-parts(eq;bs)
                        in  bag-map(\mlambda{}L.[\{\}  /  L];pts)  +  [L\mmember{}pts|((\#x  in  hd(L))  =\msubz{}  0)];(\mneg{}x  \mdownarrow{}\mmember{}  hd(L))
\mwedge{}  (\mforall{}x\mmember{}tl(L).\mneg{}(x  =  \{\}))
\mwedge{}  (bag-union(L)  =  bs))


By


Latex:
((CallByValueReduce  0  THENA  Auto)
  THEN  (RWO  "bag-member-append"  0  THENA  Try  (Complete  ((Auto  THEN  DoSubsume  THEN  Auto))))\mcdot{}
  THEN  (RWO  "bag-member-map"  0  THENA  Try  (Complete  ((Auto  THEN  DoSubsume  THEN  Auto))))\mcdot{})




Home Index