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