Step
*
1
2
1
of Lemma
bag-subtract-member-if-no-repeats
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. u : T
5. v : T List
6. ∀bs:bag(T). (bag-no-repeats(T;bs) 
⇒ uiff(x ↓∈ bag-subtract(eq;bs;v);x ↓∈ bs ∧ (¬x ↓∈ v)))
7. bs : bag(T)
8. bag-no-repeats(T;bs)
⊢ uiff(x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v);x ↓∈ bs ∧ (¬x ↓∈ [u / v]))
BY
{ ((InstHyp [⌜bag-drop(eq;bs;u)⌝] (-3)⋅ THENA (Auto THEN BLemma `bag-drop-no-repeats` THEN Auto))
   THEN (RWO "-1" 0 THENA Auto)
   THEN RW (AddrC [2] BagMemberC) 0
   THEN Auto) }
1
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. u : T
5. v : T List
6. ∀bs:bag(T). (bag-no-repeats(T;bs) 
⇒ uiff(x ↓∈ bag-subtract(eq;bs;v);x ↓∈ bs ∧ (¬x ↓∈ v)))
7. bs : bag(T)
8. bag-no-repeats(T;bs)
9. x ↓∈ bag-drop(eq;bs;u) ∧ (¬x ↓∈ v) supposing x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v)
10. x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v) supposing x ↓∈ bag-drop(eq;bs;u) ∧ (¬x ↓∈ v)
11. x ↓∈ bag-drop(eq;bs;u)
12. ¬x ↓∈ v
⊢ x ↓∈ bs
2
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. u : T
5. v : T List
6. ∀bs:bag(T). (bag-no-repeats(T;bs) 
⇒ uiff(x ↓∈ bag-subtract(eq;bs;v);x ↓∈ bs ∧ (¬x ↓∈ v)))
7. bs : bag(T)
8. bag-no-repeats(T;bs)
9. x ↓∈ bag-drop(eq;bs;u) ∧ (¬x ↓∈ v) supposing x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v)
10. x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v) supposing x ↓∈ bag-drop(eq;bs;u) ∧ (¬x ↓∈ v)
11. x ↓∈ bag-drop(eq;bs;u)
12. ¬x ↓∈ v
⊢ ¬((x = u ∈ T) ↓∨ x ↓∈ v)
3
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. u : T
5. v : T List
6. ∀bs:bag(T). (bag-no-repeats(T;bs) 
⇒ uiff(x ↓∈ bag-subtract(eq;bs;v);x ↓∈ bs ∧ (¬x ↓∈ v)))
7. bs : bag(T)
8. bag-no-repeats(T;bs)
9. x ↓∈ bag-drop(eq;bs;u) ∧ (¬x ↓∈ v) supposing x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v)
10. x ↓∈ bag-subtract(eq;bag-drop(eq;bs;u);v) supposing x ↓∈ bag-drop(eq;bs;u) ∧ (¬x ↓∈ v)
11. x ↓∈ bs
12. ¬((x = u ∈ T) ↓∨ x ↓∈ v)
⊢ x ↓∈ bag-drop(eq;bs;u)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  u  :  T
5.  v  :  T  List
6.  \mforall{}bs:bag(T).  (bag-no-repeats(T;bs)  {}\mRightarrow{}  uiff(x  \mdownarrow{}\mmember{}  bag-subtract(eq;bs;v);x  \mdownarrow{}\mmember{}  bs  \mwedge{}  (\mneg{}x  \mdownarrow{}\mmember{}  v)))
7.  bs  :  bag(T)
8.  bag-no-repeats(T;bs)
\mvdash{}  uiff(x  \mdownarrow{}\mmember{}  bag-subtract(eq;bag-drop(eq;bs;u);v);x  \mdownarrow{}\mmember{}  bs  \mwedge{}  (\mneg{}x  \mdownarrow{}\mmember{}  [u  /  v]))
By
Latex:
((InstHyp  [\mkleeneopen{}bag-drop(eq;bs;u)\mkleeneclose{}]  (-3)\mcdot{}  THENA  (Auto  THEN  BLemma  `bag-drop-no-repeats`  THEN  Auto))
  THEN  (RWO  "-1"  0  THENA  Auto)
  THEN  RW  (AddrC  [2]  BagMemberC)  0
  THEN  Auto)
Home
Index