Step
*
2
of Lemma
set-equal-cons
1. [T] : Type
2. u : T
3. v : T List
4. bs : T List
5. no_repeats(T;[u / v])
6. no_repeats(T;bs)
7. ∃cs,ds:T List. ((bs = (cs @ [u / ds]) ∈ (T List)) ∧ set-equal(T;v;cs @ ds))
⊢ set-equal(T;[u / v];bs)
BY
{ (((ExRepD THEN (HypSubst' -2 0 THENA Auto)) THEN RepeatFor 2 (ParallelLast))
THEN ((RWO "cons_member" 0 THENM RWO "member_append" 0 THENM RWO "cons_member" 0) THENA Auto)
THEN (RWO "member_append" (-1) THENA Auto)) }
1
1. [T] : Type
2. u : T
3. v : T List
4. bs : T List
5. no_repeats(T;[u / v])
6. no_repeats(T;bs)
7. cs : T List
8. ds : T List
9. bs = (cs @ [u / ds]) ∈ (T List)
10. ∀t:T. ((t ∈ v)
⇐⇒ (t ∈ cs @ ds))
11. t : T
12. (t ∈ v)
⇐⇒ (t ∈ cs) ∨ (t ∈ ds)
⊢ (t = u ∈ T) ∨ (t ∈ v)
⇐⇒ (t ∈ cs) ∨ (t = u ∈ T) ∨ (t ∈ ds)
Latex:
Latex:
1. [T] : Type
2. u : T
3. v : T List
4. bs : T List
5. no\_repeats(T;[u / v])
6. no\_repeats(T;bs)
7. \mexists{}cs,ds:T List. ((bs = (cs @ [u / ds])) \mwedge{} set-equal(T;v;cs @ ds))
\mvdash{} set-equal(T;[u / v];bs)
By
Latex:
(((ExRepD THEN (HypSubst' -2 0 THENA Auto)) THEN RepeatFor 2 (ParallelLast))
THEN ((RWO "cons\_member" 0 THENM RWO "member\_append" 0 THENM RWO "cons\_member" 0) THENA Auto)
THEN (RWO "member\_append" (-1) THENA Auto))
Home
Index