As you'll soon deduce, I'm very new to coq.
I'd like to prove the validity of some very elementary calculations with matrices, like
(0 0) + (1 1) = (1 1)
(0 0) (1 1) (1 1)
but I'm having trouble figuring out how to use this library to formulate any concrete examples of matrices.
Can you give me a hint or two? I'm happy to make a PR with this sort of calculation as an "example" once I figure out how to do it :)
Definition I2 (finite1 : fin 2) (finite2 : fin 2) : Nat :=
(* First, extract the actual indices *)
match finite1, finite2 return nat with
| Build_finiteT ind1 _, Build_finiteT ind2 _ =>
(* Then, return the appropriate value *)
match ind1, ind2 return nat with
| O, O => (S O)
| (S O), (S O) => (S O)
| _, _ => O
end
end.