Step
*
2
1
2
of Lemma
add-remove-nth
1. T : Type
2. u : T
3. v : T List
4. ∀[n:ℕ||v||]. (let x,L' = remove-nth(n;v) in add-nth(n;x;L') ~ v)
5. n : ℕ||v|| + 1
6. ¬0 < n
⊢ case nth_tl((n + 1) - 1;v) of [] => [] | a::as' => [] esac @ [[u / v][n] / nth_tl((n + 1) - 1;v)] ~ [u / v]
BY
{ ((OReduce 0 THENA Auto) THEN CaseNat 0 `n' THEN Reduce 0) }
1
1. T : Type
2. u : T
3. v : T List
4. ∀[n:ℕ||v||]. (let x,L' = remove-nth(n;v) in add-nth(n;x;L') ~ v)
5. n : ℕ||v|| + 1
6. ¬0 < n
7. n = 0 ∈ ℤ
⊢ case v of [] => [] | a::as' => [] esac @ [u / v] ~ [u / v]
2
1. T : Type
2. u : T
3. v : T List
4. ∀[n:ℕ||v||]. (let x,L' = remove-nth(n;v) in add-nth(n;x;L') ~ v)
5. n : ℕ||v|| + 1
6. ¬0 < n
7. ¬(n = 0 ∈ ℤ)
⊢ case nth_tl((n + 1) - 1;v) of [] => [] | a::as' => [] esac @ [[u / v][n] / nth_tl((n + 1) - 1;v)] ~ [u / v]
Latex:
Latex:
1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[n:\mBbbN{}||v||].  (let  x,L'  =  remove-nth(n;v)  in  add-nth(n;x;L')  \msim{}  v)
5.  n  :  \mBbbN{}||v||  +  1
6.  \mneg{}0  <  n
\mvdash{}  case  nth\_tl((n  +  1)  -  1;v)  of  []  =>  []  |  a::as'  =>  []  esac  @  [[u  /  v][n]  /  nth\_tl((n  +  1)  -  1;v)] 
\msim{}  [u  /  v]
By
Latex:
((OReduce  0  THENA  Auto)  THEN  CaseNat  0  `n'  THEN  Reduce  0)
Home
Index