@@ -14,7 +14,7 @@ data Vect : (len : Nat) -> (elem : Type) -> Type where
14
14
Nil : Vect Z elem
15
15
||| A non-empty vector of length `S len`, consisting of a head element and
16
16
||| the rest of the list, of length `len`.
17
- (:: ) : (1 x : elem) -> (1 xs : Vect len elem) -> Vect (S len) elem
17
+ (:: ) : (x : elem) -> (xs : Vect len elem) -> Vect (S len) elem
18
18
19
19
-- Hints for interactive editing
20
20
%name Vect xs,ys,zs,ws
@@ -101,7 +101,7 @@ index (FS k) (_::xs) = index k xs
101
101
||| insertAt 1 8 [1,2,3,4]
102
102
||| ```
103
103
public export
104
- insertAt : (1 idx : Fin (S len)) -> (1 x : elem) -> (1 xs : Vect len elem) -> Vect (S len) elem
104
+ insertAt : (idx : Fin (S len)) -> (x : elem) -> (xs : Vect len elem) -> Vect (S len) elem
105
105
insertAt FZ y xs = y :: xs
106
106
insertAt (FS k) y (x:: xs) = x :: insertAt k y xs
107
107
@@ -145,7 +145,7 @@ updateAt (FS k) f (x::xs) = x :: updateAt k f xs
145
145
||| [1,2,3,4] ++ [5,6]
146
146
||| ```
147
147
public export
148
- (++ ) : (1 xs : Vect m elem) -> (1 ys : Vect n elem) -> Vect (m + n) elem
148
+ (++ ) : (xs : Vect m elem) -> (ys : Vect n elem) -> Vect (m + n) elem
149
149
(++ ) [] ys = ys
150
150
(++ ) (x:: xs) ys = x :: xs ++ ys
151
151
@@ -207,9 +207,9 @@ merge = mergeBy compare
207
207
||| reverse [1,2,3,4]
208
208
||| ```
209
209
public export
210
- reverse : (1 xs : Vect len elem) -> Vect len elem
210
+ reverse : (xs : Vect len elem) -> Vect len elem
211
211
reverse xs = go [] xs
212
- where go : (1 _ : Vect n elem) -> (1 _ : Vect m elem) -> Vect (n+m) elem
212
+ where go : Vect n elem -> Vect m elem -> Vect (n+m) elem
213
213
go {n} acc [] = rewrite plusZeroRightNeutral n in acc
214
214
go {n} {m= S m} acc (x :: xs) = rewrite sym $ plusSuccRightSucc n m
215
215
in go (x:: acc) xs
@@ -244,7 +244,7 @@ toVect (S k) (x :: xs)
244
244
toVect _ _ = Nothing
245
245
246
246
public export
247
- fromList' : (1 xs : Vect len elem) -> (1 l : List elem) -> Vect (length l + len) elem
247
+ fromList' : (xs : Vect len elem) -> (l : List elem) -> Vect (length l + len) elem
248
248
fromList' ys [] = ys
249
249
fromList' {len} ys (x:: xs) =
250
250
rewrite (plusSuccRightSucc (length xs) len) in
@@ -258,7 +258,7 @@ fromList' {len} ys (x::xs) =
258
258
||| fromList [1,2,3,4]
259
259
||| ```
260
260
public export
261
- fromList : (1 l : List elem) -> Vect (length l ) elem
261
+ fromList : (xs : List elem) -> Vect (length xs ) elem
262
262
fromList l =
263
263
rewrite (sym $ plusZeroRightNeutral (length l)) in
264
264
reverse $ fromList' [] l
@@ -283,16 +283,13 @@ zipWith f (x::xs) (y::ys) = f x y :: zipWith f xs ys
283
283
284
284
||| Linear version
285
285
public export
286
- lzipWith : (f : (1 _ : a) -> (1 _ : b) -> c)
287
- -> (1 _ : Vect n a)
288
- -> (1 _ : Vect n b)
289
- -> Vect n c
286
+ lzipWith : (f : a -> b -> c) -> Vect n a -> Vect n b -> Vect n c
290
287
lzipWith _ [] [] = []
291
288
lzipWith f (x:: xs) (y:: ys) = f x y :: lzipWith f xs ys
292
289
293
290
||| Extensional correctness lemma
294
291
export
295
- lzipWithSpec : (f : (1 _ : a) -> (1 _ : b) -> c)
292
+ lzipWithSpec : (f : a -> b -> c)
296
293
-> (xs : Vect n a) -> (ys : Vect n b)
297
294
-> lzipWith f xs ys = zipWith f xs ys
298
295
lzipWithSpec _ [] [] = Refl
@@ -314,7 +311,7 @@ zipWith3 f (x::xs) (y::ys) (z::zs) = f x y z :: zipWith3 f xs ys zs
314
311
||| zip (fromList [1,2,3,4]) (fromList [1,2,3,4])
315
312
||| ```
316
313
public export
317
- zip : (1 xs : Vect n a) -> (1 ys : Vect n b) -> Vect n (a, b)
314
+ zip : (xs : Vect n a) -> (ys : Vect n b) -> Vect n (a, b)
318
315
zip [] [] = []
319
316
zip (x:: xs) (y:: ys) = (x, y) :: zip xs ys
320
317
@@ -324,7 +321,7 @@ zip (x::xs) (y::ys) = (x, y) :: zip xs ys
324
321
||| zip3 (fromList [1,2,3,4]) (fromList [1,2,3,4]) (fromList [1,2,3,4])
325
322
||| ```
326
323
public export
327
- zip3 : (1 xs : Vect n a) -> (1 ys : Vect n b) -> (1 zs : Vect n c) -> Vect n (a, b, c)
324
+ zip3 : (xs : Vect n a) -> (ys : Vect n b) -> (zs : Vect n c) -> Vect n (a, b, c)
328
325
zip3 [] [] [] = []
329
326
zip3 (x:: xs) (y:: ys) (z:: zs) = (x, y, z) :: zip3 xs ys zs
330
327
@@ -334,7 +331,7 @@ zip3 (x::xs) (y::ys) (z::zs) = (x, y, z) :: zip3 xs ys zs
334
331
||| unzip (fromList [(1,2), (1,2)])
335
332
||| ```
336
333
public export
337
- unzip : (1 xs : Vect n (a, b)) -> (Vect n a, Vect n b)
334
+ unzip : (xs : Vect n (a, b)) -> (Vect n a, Vect n b)
338
335
unzip [] = ([], [])
339
336
unzip ((l, r):: xs) = let (lefts, rights) = unzip xs
340
337
in (l:: lefts, r:: rights)
@@ -345,7 +342,7 @@ unzip ((l, r)::xs) = let (lefts, rights) = unzip xs
345
342
||| unzip3 (fromList [(1,2,3), (1,2,3)])
346
343
||| ```
347
344
public export
348
- unzip3 : (1 xs : Vect n (a, b, c)) -> (Vect n a, Vect n b, Vect n c)
345
+ unzip3 : (xs : Vect n (a, b, c)) -> (Vect n a, Vect n b, Vect n c)
349
346
unzip3 [] = ([], [], [])
350
347
unzip3 ((l,c,r):: xs) = let (lefts, centers, rights) = unzip3 xs
351
348
in (l:: lefts, c:: centers, r:: rights)
@@ -436,7 +433,7 @@ implementation Foldable (Vect n) where
436
433
||| concat [[1,2,3], [4,5,6]]
437
434
||| ```
438
435
public export
439
- concat : (1 xss : Vect m (Vect n elem)) -> Vect (m * n) elem
436
+ concat : (xss : Vect m (Vect n elem)) -> Vect (m * n) elem
440
437
concat [] = []
441
438
concat (v:: vs) = v ++ Vect . concat vs
442
439
@@ -810,7 +807,7 @@ vectToMaybe (x::xs) = Just x
810
807
||| catMaybes [Just 1, Just 2, Nothing, Nothing, Just 5]
811
808
||| ```
812
809
public export
813
- catMaybes : (1 xs : Vect n (Maybe elem)) -> (p ** Vect p elem)
810
+ catMaybes : (xs : Vect n (Maybe elem)) -> (p ** Vect p elem)
814
811
catMaybes [] = (_ ** [])
815
812
catMaybes (Nothing :: xs) = catMaybes xs
816
813
catMaybes ((Just j):: xs) =
@@ -845,7 +842,7 @@ range {len=S _} = FZ :: map FS range
845
842
||| transpose [[1,2], [3,4], [5,6], [7,8]]
846
843
||| ```
847
844
public export
848
- transpose : {n : _} -> (1 array : Vect m (Vect n elem)) -> Vect n (Vect m elem)
845
+ transpose : {n : _} -> (array : Vect m (Vect n elem)) -> Vect n (Vect m elem)
849
846
transpose [] = replicate _ [] -- = [| [] |]
850
847
transpose (x :: xs) = lzipWith (:: ) x (transpose xs) -- = [| x :: xs |]
851
848
0 commit comments