Step
*
of Lemma
bag-append-is-empty
∀[T:Type]. ∀as,bs:bag(T).  uiff((as + bs) = {} ∈ bag(T);(as = {} ∈ bag(T)) ∧ (bs = {} ∈ bag(T)))
BY
{ (Auto
   THEN Try ((HypSubst' (-2) 0 THEN Reduce 0 THEN Auto))
   THEN (Assert #(as + bs) = #({}) ∈ ℤ BY
               Auto)
   THEN Reduce (-1)
   THEN RWO "bag-size-append" (-1)
   THEN Auto
   THEN Unfold `bag-size` -1
   THEN (BagToList 2 THEN Try (Fold `bag-size` 0) THEN Auto)
   THEN BagToList 3
   THEN Try (Fold `bag-size` 0)
   THEN Auto) }
1
1. T : Type
2. as : T List
3. bs : T List
4. (as + bs) = {} ∈ bag(T)
5. (||as|| + ||bs||) = 0 ∈ ℤ
⊢ as = {} ∈ bag(T)
2
1. T : Type
2. as : T List
3. bs : T List
4. (as + bs) = {} ∈ bag(T)
5. (||as|| + ||bs||) = 0 ∈ ℤ
⊢ bs = {} ∈ bag(T)
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}as,bs:bag(T).    uiff((as  +  bs)  =  \{\};(as  =  \{\})  \mwedge{}  (bs  =  \{\}))
By
Latex:
(Auto
  THEN  Try  ((HypSubst'  (-2)  0  THEN  Reduce  0  THEN  Auto))
  THEN  (Assert  \#(as  +  bs)  =  \#(\{\})  BY
                          Auto)
  THEN  Reduce  (-1)
  THEN  RWO  "bag-size-append"  (-1)
  THEN  Auto
  THEN  Unfold  `bag-size`  -1
  THEN  (BagToList  2  THEN  Try  (Fold  `bag-size`  0)  THEN  Auto)
  THEN  BagToList  3
  THEN  Try  (Fold  `bag-size`  0)
  THEN  Auto)
Home
Index