Step
*
of Lemma
bag-union-append
∀[A:Type]. ∀[b1,b2:bag(bag(A))].  (bag-union(b1 + b2) = (bag-union(b1) + bag-union(b2)) ∈ bag(A))
BY
{ (Auto
   THEN (BagToList (-2) THENA Auto)
   THEN (BagToList (-1) THENA Auto)
   THEN MoveToConcl (-1)
   THEN ListInd (-1)
   THEN Auto
   THEN Try (Fold `empty-bag` 0⋅)
   THEN Reduce 0
   THEN Auto
   THEN Try (Fold `cons-bag` 0)
   THEN (RWO "bag-union-cons" 0 THENA Auto)
   THEN RepUR ``cons-bag bag-append`` 0
   THEN Try (Fold `cons-bag` 0)
   THEN Try (Fold `bag-append` 0)
   THEN (RWO "bag-union-cons" 0 THENA Auto)
   THEN (RWO "-2" 0 THENA Auto)
   THEN RWO "bag-append-assoc" 0
   THEN Auto) }
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}[b1,b2:bag(bag(A))].    (bag-union(b1  +  b2)  =  (bag-union(b1)  +  bag-union(b2)))
By
Latex:
(Auto
  THEN  (BagToList  (-2)  THENA  Auto)
  THEN  (BagToList  (-1)  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  ListInd  (-1)
  THEN  Auto
  THEN  Try  (Fold  `empty-bag`  0\mcdot{})
  THEN  Reduce  0
  THEN  Auto
  THEN  Try  (Fold  `cons-bag`  0)
  THEN  (RWO  "bag-union-cons"  0  THENA  Auto)
  THEN  RepUR  ``cons-bag  bag-append``  0
  THEN  Try  (Fold  `cons-bag`  0)
  THEN  Try  (Fold  `bag-append`  0)
  THEN  (RWO  "bag-union-cons"  0  THENA  Auto)
  THEN  (RWO  "-2"  0  THENA  Auto)
  THEN  RWO  "bag-append-assoc"  0
  THEN  Auto)
Home
Index