test(tests/lean/run): simple diag for square matrices
This commit is contained in:
parent
1b95b69251
commit
a171f8fbc3
1 changed files with 17 additions and 0 deletions
17
tests/lean/run/diag.lean
Normal file
17
tests/lean/run/diag.lean
Normal file
|
@ -0,0 +1,17 @@
|
|||
import data.vector
|
||||
open nat
|
||||
|
||||
namespace vector
|
||||
|
||||
definition diag {A} {n} : vector (vector A n) n → vector A n :=
|
||||
nat.rec_on n
|
||||
(λv, nil)
|
||||
(λn₁ (r : vector (vector A n₁) n₁ → vector A n₁) (v : vector (vector A (succ n₁)) (succ n₁)),
|
||||
let h₁ : A := head (head v) in
|
||||
let t₁ : vector (vector A n₁) n₁ := map tail (tail v) in
|
||||
h₁ :: r t₁)
|
||||
|
||||
example : diag ((1 :: 2 :: 3 :: nil) :: (4 :: 5 :: 6 :: nil) :: (7 :: 8 :: 9 :: nil) :: nil) = 1 :: 5 :: 9 :: nil :=
|
||||
rfl
|
||||
|
||||
end vector
|
Loading…
Reference in a new issue