Step * 1 1 2 2 of Lemma bag-map-combine


1. Type
2. Type
3. Type
4. A ⟶ bag(B)
5. B ⟶ C
6. A
7. List
8. bag-map(f;⋃x∈v.g[x]) = ⋃x∈v.bag-map(f;g[x]) ∈ bag(C)
⊢ bag-map(f;⋃x∈{u} v.g[x]) = ⋃x∈{u} v.bag-map(f;g[x]) ∈ bag(C)
BY
((Assert v ∈ bag(A) BY
          Auto)
   THEN (RWW "bag-combine-append-left bag-map-append" THENA (Auto THEN DoSubsume THEN Auto))
   THEN EqCD
   THEN Auto
   THEN Unfold `single-bag` 0
   THEN RWO "bag-combine-unit-left" 0
   THEN Auto) }


Latex:


Latex:

1.  A  :  Type
2.  B  :  Type
3.  C  :  Type
4.  g  :  A  {}\mrightarrow{}  bag(B)
5.  f  :  B  {}\mrightarrow{}  C
6.  u  :  A
7.  v  :  A  List
8.  bag-map(f;\mcup{}x\mmember{}v.g[x])  =  \mcup{}x\mmember{}v.bag-map(f;g[x])
\mvdash{}  bag-map(f;\mcup{}x\mmember{}\{u\}  +  v.g[x])  =  \mcup{}x\mmember{}\{u\}  +  v.bag-map(f;g[x])


By


Latex:
((Assert  v  \mmember{}  bag(A)  BY
                Auto)
  THEN  (RWW  "bag-combine-append-left  bag-map-append"  0  THENA  (Auto  THEN  DoSubsume  THEN  Auto))
  THEN  EqCD
  THEN  Auto
  THEN  Unfold  `single-bag`  0
  THEN  RWO  "bag-combine-unit-left"  0
  THEN  Auto)




Home Index