Step
*
1
of Lemma
bag-remove1-equal
1. T : Type
2. eq : EqDecider(T)
3. as : bag(T)
4. bs : bag(T)
5. a : T
6. b : T
7. bag-remove1(eq;as;a) = bag-remove1(eq;bs;b) ∈ (bag(T)?)
⊢ (({a} + bs) = ({b} + as) ∈ bag(T)) ↓∨ ((¬a ↓∈ as) ∧ (¬b ↓∈ bs))
BY
{ ((InstLemma `bag-remove1-property` [⌜T⌝;⌜eq⌝;⌜a⌝;⌜as⌝]⋅ THENA Auto)
   THEN (InstLemma `bag-remove1-property` [⌜T⌝;⌜eq⌝;⌜b⌝;⌜bs⌝]⋅ THENA Auto)
   THEN SplitOrHyps
   THEN ExRepD) }
1
1. T : Type
2. eq : EqDecider(T)
3. as : bag(T)
4. bs : bag(T)
5. a : T
6. b : T
7. bag-remove1(eq;as;a) = bag-remove1(eq;bs;b) ∈ (bag(T)?)
8. as@0 : bag(T)
9. as = ({a} + as@0) ∈ bag(T)
10. bag-remove1(eq;as;a) = (inl as@0) ∈ (bag(T)?)
11. a1 : bag(T)
12. bs = ({b} + a1) ∈ bag(T)
13. bag-remove1(eq;bs;b) = (inl a1) ∈ (bag(T)?)
⊢ (({a} + bs) = ({b} + as) ∈ bag(T)) ↓∨ ((¬a ↓∈ as) ∧ (¬b ↓∈ bs))
2
1. T : Type
2. eq : EqDecider(T)
3. as : bag(T)
4. bs : bag(T)
5. a : T
6. b : T
7. bag-remove1(eq;as;a) = bag-remove1(eq;bs;b) ∈ (bag(T)?)
8. ¬a ↓∈ as
9. bag-remove1(eq;as;a) = (inr ⋅ ) ∈ (bag(T)?)
10. a1 : bag(T)
11. bs = ({b} + a1) ∈ bag(T)
12. bag-remove1(eq;bs;b) = (inl a1) ∈ (bag(T)?)
⊢ (({a} + bs) = ({b} + as) ∈ bag(T)) ↓∨ ((¬a ↓∈ as) ∧ (¬b ↓∈ bs))
3
1. T : Type
2. eq : EqDecider(T)
3. as : bag(T)
4. bs : bag(T)
5. a : T
6. b : T
7. bag-remove1(eq;as;a) = bag-remove1(eq;bs;b) ∈ (bag(T)?)
8. as@0 : bag(T)
9. as = ({a} + as@0) ∈ bag(T)
10. bag-remove1(eq;as;a) = (inl as@0) ∈ (bag(T)?)
11. ¬b ↓∈ bs
12. bag-remove1(eq;bs;b) = (inr ⋅ ) ∈ (bag(T)?)
⊢ (({a} + bs) = ({b} + as) ∈ bag(T)) ↓∨ ((¬a ↓∈ as) ∧ (¬b ↓∈ bs))
4
1. T : Type
2. eq : EqDecider(T)
3. as : bag(T)
4. bs : bag(T)
5. a : T
6. b : T
7. bag-remove1(eq;as;a) = bag-remove1(eq;bs;b) ∈ (bag(T)?)
8. ¬a ↓∈ as
9. bag-remove1(eq;as;a) = (inr ⋅ ) ∈ (bag(T)?)
10. ¬b ↓∈ bs
11. bag-remove1(eq;bs;b) = (inr ⋅ ) ∈ (bag(T)?)
⊢ (({a} + bs) = ({b} + as) ∈ bag(T)) ↓∨ ((¬a ↓∈ as) ∧ (¬b ↓∈ bs))
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  as  :  bag(T)
4.  bs  :  bag(T)
5.  a  :  T
6.  b  :  T
7.  bag-remove1(eq;as;a)  =  bag-remove1(eq;bs;b)
\mvdash{}  ((\{a\}  +  bs)  =  (\{b\}  +  as))  \mdownarrow{}\mvee{}  ((\mneg{}a  \mdownarrow{}\mmember{}  as)  \mwedge{}  (\mneg{}b  \mdownarrow{}\mmember{}  bs))
By
Latex:
((InstLemma  `bag-remove1-property`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}as\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `bag-remove1-property`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}b\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  SplitOrHyps
  THEN  ExRepD)
Home
Index