Step * 1 1 of Lemma bag-diff_wf


1. Type
2. eq EqDecider(T)
3. bag(T)
4. T
5. T
6. bag(T)?
7. v1 bag(T)?
⊢ ((∃as:bag(T). ((x ({a} as) ∈ bag(T)) ∧ (v1 (inl as) ∈ (bag(T)?)))) ∨ ((¬a ↓∈ x) ∧ (v1 (inr ⋅ ) ∈ (bag(T)?))))
 ((∃as:bag(T). ((x ({y} as) ∈ bag(T)) ∧ (v (inl as) ∈ (bag(T)?)))) ∨ ((¬y ↓∈ x) ∧ (v (inr ⋅ ) ∈ (bag(T)?))))
 (case of inl(b) => bag-remove1(eq;b;a) inr(z) => v
   case v1 of inl(b) => bag-remove1(eq;b;y) inr(z) => v1
   ∈ (bag(T)?))
BY
(Auto
   THEN SplitOrHyps
   THEN SquashExRepD
   THEN (AllHyps (ImpossibleEq Auto)⋅ THEN Auto)
   THEN AllHyps ReduceUnionEq ⋅
   THEN Auto) }

1
1. Type
2. eq EqDecider(T)
3. bag(T)
4. T
5. T
6. x1 bag(T)
7. x2 bag(T)
8. a1 bag(T)
9. ({a} a1) ∈ bag(T)
10. x2 a1 ∈ bag(T)
11. as bag(T)
12. ({y} as) ∈ bag(T)
13. x1 as ∈ bag(T)
⊢ bag-remove1(eq;x1;a) bag-remove1(eq;x2;y) ∈ (bag(T)?)

2
1. Type
2. eq EqDecider(T)
3. bag(T)
4. T
5. T
6. x1 bag(T)
7. y1 Unit
8. ¬a ↓∈ x
9. y1 = ⋅ ∈ Unit
10. as bag(T)
11. ({y} as) ∈ bag(T)
12. x1 as ∈ bag(T)
⊢ bag-remove1(eq;x1;a) (inr y1 ) ∈ (bag(T)?)

3
1. Type
2. eq EqDecider(T)
3. bag(T)
4. T
5. T
6. y1 Unit
7. x1 bag(T)
8. as bag(T)
9. ({a} as) ∈ bag(T)
10. x1 as ∈ bag(T)
11. ¬y ↓∈ x
12. y1 = ⋅ ∈ Unit
⊢ (inr y1 bag-remove1(eq;x1;y) ∈ (bag(T)?)


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  bag(T)
4.  a  :  T
5.  y  :  T
6.  v  :  bag(T)?
7.  v1  :  bag(T)?
\mvdash{}  ((\mexists{}as:bag(T).  ((x  =  (\{a\}  +  as))  \mwedge{}  (v1  =  (inl  as))))  \mvee{}  ((\mneg{}a  \mdownarrow{}\mmember{}  x)  \mwedge{}  (v1  =  (inr  \mcdot{}  ))))
{}\mRightarrow{}  ((\mexists{}as:bag(T).  ((x  =  (\{y\}  +  as))  \mwedge{}  (v  =  (inl  as))))  \mvee{}  ((\mneg{}y  \mdownarrow{}\mmember{}  x)  \mwedge{}  (v  =  (inr  \mcdot{}  ))))
{}\mRightarrow{}  (case  v  of  inl(b)  =>  bag-remove1(eq;b;a)  |  inr(z)  =>  v
      =  case  v1  of  inl(b)  =>  bag-remove1(eq;b;y)  |  inr(z)  =>  v1)


By


Latex:
(Auto
  THEN  SplitOrHyps
  THEN  SquashExRepD
  THEN  (AllHyps  (ImpossibleEq  Auto)\mcdot{}  THEN  Auto)
  THEN  AllHyps  ReduceUnionEq  \mcdot{}
  THEN  Auto)




Home Index