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