Step
*
1
1
2
1
1
of Lemma
bag-member-parts
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).
     ((#(bs) ≤ n)
     
⇒ (∀L:bag(T) List+. uiff(L ↓∈ bag-parts(eq;bs);(bag-union(L) = bs ∈ bag(T)) ∧ (∀x∈L.¬(x = {} ∈ bag(T))))))
6. bs : bag(T)
7. #(bs) ≤ n
8. L : bag(T) List+
9. a : bag(T)
10. b : bag(T)
11. <a, b> ↓∈ bag-partitions(eq;bs)
12. L ↓∈ if bag-null(a) then {}
if bag-null(b) then {[a]}
else let parts ⟵ bag-parts(eq;b)
     in bag-map(λL.[a / L];parts)
fi 
13. x : bag(T)
14. (x ∈ L)
15. x = {} ∈ bag(T)
⊢ False
BY
{ ((RWO "bag-member-partitions" (-5) THENA Auto)⋅ THEN RepeatFor 2 (BagMemberD (-4))) }
1
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).
     ((#(bs) ≤ n)
     
⇒ (∀L:bag(T) List+. uiff(L ↓∈ bag-parts(eq;bs);(bag-union(L) = bs ∈ bag(T)) ∧ (∀x∈L.¬(x = {} ∈ bag(T))))))
6. bs : bag(T)
7. #(bs) ≤ n
8. L : bag(T) List+
9. a : bag(T)
10. b : bag(T)
11. (a + b) = bs ∈ bag(T)
12. ¬(a = {} ∈ bag(T))
13. b = {} ∈ bag(T)
14. L ↓∈ {[a]}
15. x : bag(T)
16. (x ∈ L)
17. x = {} ∈ bag(T)
⊢ False
2
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. n : ℕ
5. ∀n:ℕn. ∀bs:bag(T).
     ((#(bs) ≤ n)
     
⇒ (∀L:bag(T) List+. uiff(L ↓∈ bag-parts(eq;bs);(bag-union(L) = bs ∈ bag(T)) ∧ (∀x∈L.¬(x = {} ∈ bag(T))))))
6. bs : bag(T)
7. #(bs) ≤ n
8. L : bag(T) List+
9. a : bag(T)
10. b : bag(T)
11. (a + b) = bs ∈ bag(T)
12. ¬(a = {} ∈ bag(T))
13. ¬(b = {} ∈ bag(T))
14. L ↓∈ let parts ⟵ bag-parts(eq;b)
         in bag-map(λL.[a / L];parts)
15. x : bag(T)
16. (x ∈ L)
17. x = {} ∈ bag(T)
⊢ False
Latex:
Latex:
1.  T  :  Type
2.  valueall-type(T)
3.  eq  :  EqDecider(T)
4.  n  :  \mBbbN{}
5.  \mforall{}n:\mBbbN{}n.  \mforall{}bs:bag(T).
          ((\#(bs)  \mleq{}  n)
          {}\mRightarrow{}  (\mforall{}L:bag(T)  List\msupplus{}.  uiff(L  \mdownarrow{}\mmember{}  bag-parts(eq;bs);(bag-union(L)  =  bs)  \mwedge{}  (\mforall{}x\mmember{}L.\mneg{}(x  =  \{\})))))
6.  bs  :  bag(T)
7.  \#(bs)  \mleq{}  n
8.  L  :  bag(T)  List\msupplus{}
9.  a  :  bag(T)
10.  b  :  bag(T)
11.  <a,  b>  \mdownarrow{}\mmember{}  bag-partitions(eq;bs)
12.  L  \mdownarrow{}\mmember{}  if  bag-null(a)  then  \{\}
if  bag-null(b)  then  \{[a]\}
else  let  parts  \mleftarrow{}{}  bag-parts(eq;b)
          in  bag-map(\mlambda{}L.[a  /  L];parts)
fi 
13.  x  :  bag(T)
14.  (x  \mmember{}  L)
15.  x  =  \{\}
\mvdash{}  False
By
Latex:
((RWO  "bag-member-partitions"  (-5)  THENA  Auto)\mcdot{}  THEN  RepeatFor  2  (BagMemberD  (-4)))
Home
Index