Step * 1 of Lemma bag-drop-append


1. Type
2. eq EqDecider(T)
3. 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. (bs cs) ({x} 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
((Assert ⌜({x} bag-drop(eq;bs cs;x))
            ({x} if ((#x in bs) =z 0) then bs bag-drop(eq;cs;x) else bag-drop(eq;bs;x) cs fi )
            ∈ bag(T)⌝⋅
   THENM (FLemma `bag-append-cancel` [-1] THEN Auto)
   )
   THEN NthHypEqTrans (-1)
   }

1
.....assertion..... 
1. Type
2. eq EqDecider(T)
3. 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. (bs cs) ({x} bag-drop(eq;bs cs;x)) ∈ bag(T)
⊢ (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)


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.  (bs  +  cs)  =  (\{x\}  +  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:
((Assert  \mkleeneopen{}(\{x\}  +  bag-drop(eq;bs  +  cs;x))
                    =  (\{x\}
                        +  if  ((\#x  in  bs)  =\msubz{}  0)  then  bs  +  bag-drop(eq;cs;x)  else  bag-drop(eq;bs;x)  +  cs  fi  )\mkleeneclose{}\mcdot{}
  THENM  (FLemma  `bag-append-cancel`  [-1]  THEN  Auto)
  )
  THEN  NthHypEqTrans  (-1)
  )




Home Index