Step * 2 1 of Lemma add-remove-nth


1. Type
2. T
3. List
4. ∀[n:ℕ||v||]. (let x,L' remove-nth(n;v) in add-nth(n;x;L') v)
5. : ℕ||v|| 1
⊢ firstn(n;firstn(n;[u v]) nth_tl(n 1;[u v]))
[[u v][n] nth_tl(n;firstn(n;[u v]) nth_tl(n 1;[u v]))] [u v]
BY
(RecUnfold `firstn` THEN RecUnfold `nth_tl` THEN Reduce THEN AutoSplit) }

1
1. Type
2. T
3. List
4. ∀[n:ℕ||v||]. (let x,L' remove-nth(n;v) in add-nth(n;x;L') v)
5. : ℕ||v|| 1
6. 0 < n
⊢ [u 
   (firstn(n 1;firstn(n 1;v) nth_tl((n 1) 1;v))
   [[u v][n] nth_tl(n 1;firstn(n 1;v) nth_tl((n 1) 1;v))])] [u v]

2
1. Type
2. T
3. List
4. ∀[n:ℕ||v||]. (let x,L' remove-nth(n;v) in add-nth(n;x;L') v)
5. : ℕ||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]


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
\mvdash{}  firstn(n;firstn(n;[u  /  v])  @  nth\_tl(n  +  1;[u  /  v]))
@  [[u  /  v][n]  /  nth\_tl(n;firstn(n;[u  /  v])  @  nth\_tl(n  +  1;[u  /  v]))]  \msim{}  [u  /  v]


By


Latex:
(RecUnfold  `firstn`  0  THEN  RecUnfold  `nth\_tl`  0  THEN  Reduce  0  THEN  AutoSplit)




Home Index