Step
*
2
of Lemma
select-remove-first
1. T : Type
2. u : T
3. v : T List
4. P : {x:T| (x ∈ [u / v])} ⟶ 𝔹
5. ¬↑(P u)
6. ff ∈ 𝔹
7. P ∈ {x:T| (x ∈ v)} ⟶ 𝔹
8. ∀i:ℕ||remove-first(P;v)||
(remove-first(P;v)[i] ~ v[i] supposing ∀j:ℕi + 1. (¬↑(P v[j]))
∧ remove-first(P;v)[i] ~ v[i + 1] supposing ∃j:ℕi + 1. (↑(P v[j])))
⊢ ((||remove-first(P;v)|| + 1) ≤ (||v|| + 1))
⇒ (∀i:ℕ||remove-first(P;v)|| + 1
([u / remove-first(P;v)][i] ~ [u / v][i] supposing ∀j:ℕi + 1. (¬↑(P [u / v][j]))
∧ [u / remove-first(P;v)][i] ~ [u / v][i + 1] supposing ∃j:ℕi + 1. (↑(P [u / v][j]))))
BY
{ ((D 0 THENA Auto) THEN Thin (-1) THEN (D 0 THENA Auto) THEN CaseNat 0 `i' THEN Reduce 0) }
1
1. T : Type
2. u : T
3. v : T List
4. P : {x:T| (x ∈ [u / v])} ⟶ 𝔹
5. ¬↑(P u)
6. ff ∈ 𝔹
7. P ∈ {x:T| (x ∈ v)} ⟶ 𝔹
8. ∀i:ℕ||remove-first(P;v)||
(remove-first(P;v)[i] ~ v[i] supposing ∀j:ℕi + 1. (¬↑(P v[j]))
∧ remove-first(P;v)[i] ~ v[i + 1] supposing ∃j:ℕi + 1. (↑(P v[j])))
9. i : ℕ||remove-first(P;v)|| + 1
10. i = 0 ∈ ℤ
⊢ u ~ u supposing ∀j:ℕ1. (¬↑(P [u / v][j])) ∧ u ~ v[0] supposing ∃j:ℕ1. (↑(P [u / v][j]))
2
1. T : Type
2. u : T
3. v : T List
4. P : {x:T| (x ∈ [u / v])} ⟶ 𝔹
5. ¬↑(P u)
6. ff ∈ 𝔹
7. P ∈ {x:T| (x ∈ v)} ⟶ 𝔹
8. ∀i:ℕ||remove-first(P;v)||
(remove-first(P;v)[i] ~ v[i] supposing ∀j:ℕi + 1. (¬↑(P v[j]))
∧ remove-first(P;v)[i] ~ v[i + 1] supposing ∃j:ℕi + 1. (↑(P v[j])))
9. i : ℕ||remove-first(P;v)|| + 1
10. ¬(i = 0 ∈ ℤ)
⊢ [u / remove-first(P;v)][i] ~ [u / v][i] supposing ∀j:ℕi + 1. (¬↑(P [u / v][j]))
∧ [u / remove-first(P;v)][i] ~ [u / v][i + 1] supposing ∃j:ℕi + 1. (↑(P [u / v][j]))
Latex:
Latex:
1. T : Type
2. u : T
3. v : T List
4. P : \{x:T| (x \mmember{} [u / v])\} {}\mrightarrow{} \mBbbB{}
5. \mneg{}\muparrow{}(P u)
6. ff \mmember{} \mBbbB{}
7. P \mmember{} \{x:T| (x \mmember{} v)\} {}\mrightarrow{} \mBbbB{}
8. \mforall{}i:\mBbbN{}||remove-first(P;v)||
(remove-first(P;v)[i] \msim{} v[i] supposing \mforall{}j:\mBbbN{}i + 1. (\mneg{}\muparrow{}(P v[j]))
\mwedge{} remove-first(P;v)[i] \msim{} v[i + 1] supposing \mexists{}j:\mBbbN{}i + 1. (\muparrow{}(P v[j])))
\mvdash{} ((||remove-first(P;v)|| + 1) \mleq{} (||v|| + 1))
{}\mRightarrow{} (\mforall{}i:\mBbbN{}||remove-first(P;v)|| + 1
([u / remove-first(P;v)][i] \msim{} [u / v][i] supposing \mforall{}j:\mBbbN{}i + 1. (\mneg{}\muparrow{}(P [u / v][j]))
\mwedge{} [u / remove-first(P;v)][i] \msim{} [u / v][i + 1] supposing \mexists{}j:\mBbbN{}i + 1. (\muparrow{}(P [u / v][j]))))
By
Latex:
((D 0 THENA Auto) THEN Thin (-1) THEN (D 0 THENA Auto) THEN CaseNat 0 `i' THEN Reduce 0)
Home
Index