Step
*
1
2
of Lemma
bag-member-union
1. T : Type
2. x : T
3. u : bag(T)
4. v : bag(T) List
5. uiff(x ↓∈ bag-union(v);↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ v))
⊢ uiff(x ↓∈ bag-union([u / v]);↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ [u / v]))
BY
{ ((Unfold `bag-union` 0 THEN Unfold `concat` 0 THEN Reduce 0 THEN Fold `concat` 0 THEN Fold `bag-union` 0)
   THEN Fold `bag-append` 0
   THEN (RWO "bag-member-append" 0 THENA Auto)
   THEN Auto
   THEN Try (Complete (Auto))) }
1
1. T : Type
2. x : T
3. u : bag(T)
4. v : bag(T) List
5. ↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ v) supposing x ↓∈ bag-union(v)
6. x ↓∈ bag-union(v) supposing ↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ v)
7. x ↓∈ u ↓∨ x ↓∈ bag-union(v)
⊢ ↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ [u / v])
2
1. T : Type
2. x : T
3. u : bag(T)
4. v : bag(T) List
5. ↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ v) supposing x ↓∈ bag-union(v)
6. x ↓∈ bag-union(v) supposing ↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ v)
7. ↓∃b:bag(T). (x ↓∈ b ∧ b ↓∈ [u / v])
⊢ x ↓∈ u ↓∨ x ↓∈ bag-union(v)
Latex:
Latex:
1.  T  :  Type
2.  x  :  T
3.  u  :  bag(T)
4.  v  :  bag(T)  List
5.  uiff(x  \mdownarrow{}\mmember{}  bag-union(v);\mdownarrow{}\mexists{}b:bag(T).  (x  \mdownarrow{}\mmember{}  b  \mwedge{}  b  \mdownarrow{}\mmember{}  v))
\mvdash{}  uiff(x  \mdownarrow{}\mmember{}  bag-union([u  /  v]);\mdownarrow{}\mexists{}b:bag(T).  (x  \mdownarrow{}\mmember{}  b  \mwedge{}  b  \mdownarrow{}\mmember{}  [u  /  v]))
By
Latex:
((Unfold  `bag-union`  0
    THEN  Unfold  `concat`  0
    THEN  Reduce  0
    THEN  Fold  `concat`  0
    THEN  Fold  `bag-union`  0)
  THEN  Fold  `bag-append`  0
  THEN  (RWO  "bag-member-append"  0  THENA  Auto)
  THEN  Auto
  THEN  Try  (Complete  (Auto)))
Home
Index