Step
*
1
of Lemma
bag-remove1-append1
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. y : T
5. ¬(x = y ∈ T)
6. bs : bag(T)
⊢ bag-remove1(eq;{y} + bs;x) = case bag-remove1(eq;bs;x) of inl(as) => inl ({y} + as) | inr(x) => inr ⋅  ∈ (bag(T)?)
BY
{ ((TACTIC:Auto THEN (InstLemma `bag-remove1-property` [⌜T⌝;⌜eq⌝;⌜x⌝;⌜bs⌝]⋅ THENA Auto))
   THEN D -1
   THEN ExRepD
   THEN (RWO  "-1" 0 THENA Auto)
   THEN Reduce 0) }
1
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. y : T
5. ¬(x = y ∈ T)
6. bs : bag(T)
7. as : bag(T)
8. bs = ({x} + as) ∈ bag(T)
9. bag-remove1(eq;bs;x) = (inl as) ∈ (bag(T)?)
⊢ bag-remove1(eq;{y} + bs;x) = (inl ({y} + as)) ∈ (bag(T)?)
2
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. y : T
5. ¬(x = y ∈ T)
6. bs : bag(T)
7. ¬x ↓∈ bs
8. bag-remove1(eq;bs;x) = (inr ⋅ ) ∈ (bag(T)?)
⊢ bag-remove1(eq;{y} + bs;x) = (inr ⋅ ) ∈ (bag(T)?)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  y  :  T
5.  \mneg{}(x  =  y)
6.  bs  :  bag(T)
\mvdash{}  bag-remove1(eq;\{y\}  +  bs;x)
=  case  bag-remove1(eq;bs;x)  of  inl(as)  =>  inl  (\{y\}  +  as)  |  inr(x)  =>  inr  \mcdot{} 
By
Latex:
((TACTIC:Auto  THEN  (InstLemma  `bag-remove1-property`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{}]\mcdot{}  THENA  Auto))
  THEN  D  -1
  THEN  ExRepD
  THEN  (RWO    "-1"  0  THENA  Auto)
  THEN  Reduce  0)
Home
Index