Step
*
2
1
2
1
of Lemma
bag-member-parts'
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. x : T
5. bs : bag(T)
6. ¬(bs = {} ∈ bag(T))
7. L : bag(T) List+
8. ¬x ↓∈ hd(L)
9. (∀x∈tl(L).¬(x = {} ∈ bag(T)))
10. bag-union(L) = bs ∈ bag(T)
⊢ (↓∃v:bag(T) List+. (v ↓∈ bag-parts(eq;bs) ∧ (L = [{} / v] ∈ bag(T) List+)))
↓∨ L ↓∈ [L∈bag-parts(eq;bs)|((#x in hd(L)) =z 0)]
BY
{ ((Decide ⌜↑bag-null(hd(L))⌝⋅ THENA Auto) THEN (RWO "assert-bag-null" (-1) THENA Auto)) }
1
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. x : T
5. bs : bag(T)
6. ¬(bs = {} ∈ bag(T))
7. L : bag(T) List+
8. ¬x ↓∈ hd(L)
9. (∀x∈tl(L).¬(x = {} ∈ bag(T)))
10. bag-union(L) = bs ∈ bag(T)
11. hd(L) = {} ∈ bag(T)
⊢ (↓∃v:bag(T) List+. (v ↓∈ bag-parts(eq;bs) ∧ (L = [{} / v] ∈ bag(T) List+)))
↓∨ L ↓∈ [L∈bag-parts(eq;bs)|((#x in hd(L)) =z 0)]
2
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. x : T
5. bs : bag(T)
6. ¬(bs = {} ∈ bag(T))
7. L : bag(T) List+
8. ¬x ↓∈ hd(L)
9. (∀x∈tl(L).¬(x = {} ∈ bag(T)))
10. bag-union(L) = bs ∈ bag(T)
11. ¬(hd(L) = {} ∈ bag(T))
⊢ (↓∃v:bag(T) List+. (v ↓∈ bag-parts(eq;bs) ∧ (L = [{} / v] ∈ bag(T) List+)))
↓∨ L ↓∈ [L∈bag-parts(eq;bs)|((#x in hd(L)) =z 0)]
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{}
8.  \mneg{}x  \mdownarrow{}\mmember{}  hd(L)
9.  (\mforall{}x\mmember{}tl(L).\mneg{}(x  =  \{\}))
10.  bag-union(L)  =  bs
\mvdash{}  (\mdownarrow{}\mexists{}v:bag(T)  List\msupplus{}.  (v  \mdownarrow{}\mmember{}  bag-parts(eq;bs)  \mwedge{}  (L  =  [\{\}  /  v])))
\mdownarrow{}\mvee{}  L  \mdownarrow{}\mmember{}  [L\mmember{}bag-parts(eq;bs)|((\#x  in  hd(L))  =\msubz{}  0)]
By
Latex:
((Decide  \mkleeneopen{}\muparrow{}bag-null(hd(L))\mkleeneclose{}\mcdot{}  THENA  Auto)  THEN  (RWO  "assert-bag-null"  (-1)  THENA  Auto))
Home
Index