Step
*
2
2
1
1
1
of Lemma
iseg_select
1. T : Type
2. u : T@i
3. v : T List@i
4. ∀l2:T List. (v ≤ l2 
⇐⇒ (||v|| ≤ ||l2||) c∧ (∀i:ℕ. v[i] = l2[i] ∈ T supposing i < ||v||))
5. u1 : T@i
6. v1 : T List@i
7. [u / v] ≤ v1 
⇒ ((||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||))
8. [u / v] ≤ v1 
⇐ (||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||)
9. u = u1 ∈ T
10. v ≤ v1
11. [u / v] ≤ v1 
⇒ ((||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||))
12. [u / v] ≤ v1 
⇐ (||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||)
13. ||v|| ≤ ||v1||
14. ∀i:ℕ. v[i] = v1[i] ∈ T supposing i < ||v||
15. (||v|| + 1) ≤ (||v1|| + 1)
16. i : ℕ@i
17. i < ||v|| + 1
⊢ [u / v][i] = [u1 / v1][i] ∈ T
BY
{ CaseNat 0 `i' }
1
1. T : Type
2. u : T@i
3. v : T List@i
4. ∀l2:T List. (v ≤ l2 
⇐⇒ (||v|| ≤ ||l2||) c∧ (∀i:ℕ. v[i] = l2[i] ∈ T supposing i < ||v||))
5. u1 : T@i
6. v1 : T List@i
7. [u / v] ≤ v1 
⇒ ((||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||))
8. [u / v] ≤ v1 
⇐ (||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||)
9. u = u1 ∈ T
10. v ≤ v1
11. [u / v] ≤ v1 
⇒ ((||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||))
12. [u / v] ≤ v1 
⇐ (||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||)
13. ||v|| ≤ ||v1||
14. ∀i:ℕ. v[i] = v1[i] ∈ T supposing i < ||v||
15. (||v|| + 1) ≤ (||v1|| + 1)
16. i : ℕ@i
17. i < ||v|| + 1
18. i = 0 ∈ ℤ
⊢ [u / v][0] = [u1 / v1][0] ∈ T
2
1. T : Type
2. u : T@i
3. v : T List@i
4. ∀l2:T List. (v ≤ l2 
⇐⇒ (||v|| ≤ ||l2||) c∧ (∀i:ℕ. v[i] = l2[i] ∈ T supposing i < ||v||))
5. u1 : T@i
6. v1 : T List@i
7. [u / v] ≤ v1 
⇒ ((||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||))
8. [u / v] ≤ v1 
⇐ (||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||)
9. u = u1 ∈ T
10. v ≤ v1
11. [u / v] ≤ v1 
⇒ ((||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||))
12. [u / v] ≤ v1 
⇐ (||[u / v]|| ≤ ||v1||) c∧ (∀i:ℕ. [u / v][i] = v1[i] ∈ T supposing i < ||[u / v]||)
13. ||v|| ≤ ||v1||
14. ∀i:ℕ. v[i] = v1[i] ∈ T supposing i < ||v||
15. (||v|| + 1) ≤ (||v1|| + 1)
16. i : ℕ@i
17. i < ||v|| + 1
18. ¬(i = 0 ∈ ℤ)
⊢ [u / v][i] = [u1 / v1][i] ∈ T
Latex:
Latex:
1.  T  :  Type
2.  u  :  T@i
3.  v  :  T  List@i
4.  \mforall{}l2:T  List.  (v  \mleq{}  l2  \mLeftarrow{}{}\mRightarrow{}  (||v||  \mleq{}  ||l2||)  c\mwedge{}  (\mforall{}i:\mBbbN{}.  v[i]  =  l2[i]  supposing  i  <  ||v||))
5.  u1  :  T@i
6.  v1  :  T  List@i
7.  [u  /  v]  \mleq{}  v1  {}\mRightarrow{}  ((||[u  /  v]||  \mleq{}  ||v1||)  c\mwedge{}  (\mforall{}i:\mBbbN{}.  [u  /  v][i]  =  v1[i]  supposing  i  <  ||[u  /  v]||))
8.  [u  /  v]  \mleq{}  v1  \mLeftarrow{}{}  (||[u  /  v]||  \mleq{}  ||v1||)  c\mwedge{}  (\mforall{}i:\mBbbN{}.  [u  /  v][i]  =  v1[i]  supposing  i  <  ||[u  /  v]||)
9.  u  =  u1
10.  v  \mleq{}  v1
11.  [u  /  v]  \mleq{}  v1  {}\mRightarrow{}  ((||[u  /  v]||  \mleq{}  ||v1||)  c\mwedge{}  (\mforall{}i:\mBbbN{}.  [u  /  v][i]  =  v1[i]  supposing  i  <  ||[u  /  v]||))
12.  [u  /  v]  \mleq{}  v1  \mLeftarrow{}{}  (||[u  /  v]||  \mleq{}  ||v1||)  c\mwedge{}  (\mforall{}i:\mBbbN{}.  [u  /  v][i]  =  v1[i]  supposing  i  <  ||[u  /  v]||)
13.  ||v||  \mleq{}  ||v1||
14.  \mforall{}i:\mBbbN{}.  v[i]  =  v1[i]  supposing  i  <  ||v||
15.  (||v||  +  1)  \mleq{}  (||v1||  +  1)
16.  i  :  \mBbbN{}@i
17.  i  <  ||v||  +  1
\mvdash{}  [u  /  v][i]  =  [u1  /  v1][i]
By
Latex:
CaseNat  0  `i'
Home
Index