Step
*
2
of Lemma
bag-drop-append
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. ∀bs:bag(T). ((bs = ({x} + bag-drop(eq;bs;x)) ∈ bag(T)) ∨ ((¬x ↓∈ bs) ∧ (bs = bag-drop(eq;bs;x) ∈ bag(T))))
5. bs : bag(T)
6. cs : bag(T)
7. ¬x ↓∈ bs + cs
8. (bs + cs) = bag-drop(eq;bs + cs;x) ∈ bag(T)
⊢ bag-drop(eq;bs + cs;x) = if ((#x in bs) =z 0) then bs + bag-drop(eq;cs;x) else bag-drop(eq;bs;x) + cs fi  ∈ bag(T)
BY
{ (Subst' (#x in bs) ~ 0 0 THEN Reduce 0) }
1
.....equality..... 
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. ∀bs:bag(T). ((bs = ({x} + bag-drop(eq;bs;x)) ∈ bag(T)) ∨ ((¬x ↓∈ bs) ∧ (bs = bag-drop(eq;bs;x) ∈ bag(T))))
5. bs : bag(T)
6. cs : bag(T)
7. ¬x ↓∈ bs + cs
8. (bs + cs) = bag-drop(eq;bs + cs;x) ∈ bag(T)
⊢ (#x in bs) ~ 0
2
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. ∀bs:bag(T). ((bs = ({x} + bag-drop(eq;bs;x)) ∈ bag(T)) ∨ ((¬x ↓∈ bs) ∧ (bs = bag-drop(eq;bs;x) ∈ bag(T))))
5. bs : bag(T)
6. cs : bag(T)
7. ¬x ↓∈ bs + cs
8. (bs + cs) = bag-drop(eq;bs + cs;x) ∈ bag(T)
⊢ bag-drop(eq;bs + cs;x) = (bs + bag-drop(eq;cs;x)) ∈ bag(T)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  \mforall{}bs:bag(T).  ((bs  =  (\{x\}  +  bag-drop(eq;bs;x)))  \mvee{}  ((\mneg{}x  \mdownarrow{}\mmember{}  bs)  \mwedge{}  (bs  =  bag-drop(eq;bs;x))))
5.  bs  :  bag(T)
6.  cs  :  bag(T)
7.  \mneg{}x  \mdownarrow{}\mmember{}  bs  +  cs
8.  (bs  +  cs)  =  bag-drop(eq;bs  +  cs;x)
\mvdash{}  bag-drop(eq;bs  +  cs;x)
=  if  ((\#x  in  bs)  =\msubz{}  0)  then  bs  +  bag-drop(eq;cs;x)  else  bag-drop(eq;bs;x)  +  cs  fi 
By
Latex:
(Subst'  (\#x  in  bs)  \msim{}  0  0  THEN  Reduce  0)
Home
Index