Step * 1 2 of Lemma bag-union-is-single


1. Type
2. T
3. bag(T)
4. bag(T) List
5. (bag-union(v) {x} ∈ bag(T))
 (↓∃bbs':bag(bag(T)). ((v {x}.bbs' ∈ bag(bag(T))) ∧ (bag-union(bbs') {} ∈ bag(T))))
6. bag-union([u v]) {x} ∈ bag(T)
⊢ ↓∃bbs':bag(bag(T)). (([u v] {x}.bbs' ∈ bag(bag(T))) ∧ (bag-union(bbs') {} ∈ bag(T)))
BY
((BagToList (-4) THENA Auto)
   THEN RepUR ``bag-union`` (-1)
   THEN (RWO "concat-cons2" (-1) THENA Auto)
   THEN Try (Fold `bag-append` (-1))
   THEN Try (Fold `bag-union` (-1)⋅)
   THEN (RWO "bag-append-is-single-iff" (-1) THENA Auto)
   THEN RepeatFor (D (-1))) }

1
1. Type
2. T
3. List
4. bag(T) List
5. (bag-union(v) {x} ∈ bag(T))
 (↓∃bbs':bag(bag(T)). ((v {x}.bbs' ∈ bag(bag(T))) ∧ (bag-union(bbs') {} ∈ bag(T))))
6. {x} ∈ bag(T)
7. bag-union(v) {} ∈ bag(T)
⊢ ↓∃bbs':bag(bag(T)). (([u v] {x}.bbs' ∈ bag(bag(T))) ∧ (bag-union(bbs') {} ∈ bag(T)))

2
1. Type
2. T
3. List
4. bag(T) List
5. (bag-union(v) {x} ∈ bag(T))
 (↓∃bbs':bag(bag(T)). ((v {x}.bbs' ∈ bag(bag(T))) ∧ (bag-union(bbs') {} ∈ bag(T))))
6. bag-union(v) {x} ∈ bag(T)
7. {} ∈ bag(T)
⊢ ↓∃bbs':bag(bag(T)). (([u v] {x}.bbs' ∈ bag(bag(T))) ∧ (bag-union(bbs') {} ∈ bag(T)))


Latex:


Latex:

1.  T  :  Type
2.  x  :  T
3.  u  :  bag(T)
4.  v  :  bag(T)  List
5.  (bag-union(v)  =  \{x\})  {}\mRightarrow{}  (\mdownarrow{}\mexists{}bbs':bag(bag(T)).  ((v  =  \{x\}.bbs')  \mwedge{}  (bag-union(bbs')  =  \{\})))
6.  bag-union([u  /  v])  =  \{x\}
\mvdash{}  \mdownarrow{}\mexists{}bbs':bag(bag(T)).  (([u  /  v]  =  \{x\}.bbs')  \mwedge{}  (bag-union(bbs')  =  \{\}))


By


Latex:
((BagToList  (-4)  THENA  Auto)
  THEN  RepUR  ``bag-union``  (-1)
  THEN  (RWO  "concat-cons2"  (-1)  THENA  Auto)
  THEN  Try  (Fold  `bag-append`  (-1))
  THEN  Try  (Fold  `bag-union`  (-1)\mcdot{})
  THEN  (RWO  "bag-append-is-single-iff"  (-1)  THENA  Auto)
  THEN  RepeatFor  3  (D  (-1)))




Home Index