Step
*
1
of Lemma
bag-diff-property
1. [T] : Type
2. eq : EqDecider(T)@i
3. as : bag(T)@i
4. bs : bag(T)@i
⊢ case bag-diff(eq;bs;as) of inl(cs) => bs = (as + cs) ∈ bag(T) | inr(z) => ∀cs:bag(T). (¬(bs = (as + cs) ∈ bag(T)))
BY
{ TACTIC:Assert ⌜↓case bag-diff(eq;bs;as)
                   of inl(cs) =>
                   bs = (as + cs) ∈ bag(T)
                   | inr(z) =>
                   ∀cs:bag(T). (¬(bs = (as + cs) ∈ bag(T)))⌝⋅ }
1
.....assertion..... 
1. [T] : Type
2. eq : EqDecider(T)@i
3. as : bag(T)@i
4. bs : bag(T)@i
⊢ ↓case bag-diff(eq;bs;as) of inl(cs) => bs = (as + cs) ∈ bag(T) | inr(z) => ∀cs:bag(T). (¬(bs = (as + cs) ∈ bag(T)))
2
1. [T] : Type
2. eq : EqDecider(T)@i
3. as : bag(T)@i
4. bs : bag(T)@i
5. ↓case bag-diff(eq;bs;as) of inl(cs) => bs = (as + cs) ∈ bag(T) | inr(z) => ∀cs:bag(T). (¬(bs = (as + cs) ∈ bag(T)))
⊢ case bag-diff(eq;bs;as) of inl(cs) => bs = (as + cs) ∈ bag(T) | inr(z) => ∀cs:bag(T). (¬(bs = (as + cs) ∈ bag(T)))
Latex:
Latex:
1.  [T]  :  Type
2.  eq  :  EqDecider(T)@i
3.  as  :  bag(T)@i
4.  bs  :  bag(T)@i
\mvdash{}  case  bag-diff(eq;bs;as)  of  inl(cs)  =>  bs  =  (as  +  cs)  |  inr(z)  =>  \mforall{}cs:bag(T).  (\mneg{}(bs  =  (as  +  cs)))
By
Latex:
TACTIC:Assert  \mkleeneopen{}\mdownarrow{}case  bag-diff(eq;bs;as)
                                  of  inl(cs)  =>
                                  bs  =  (as  +  cs)
                                  |  inr(z)  =>
                                  \mforall{}cs:bag(T).  (\mneg{}(bs  =  (as  +  cs)))\mkleeneclose{}\mcdot{}
Home
Index