Say I want to define add : nat -> nat -> nat
with a notation Notation "a + b" := add a b
and I want to write add
as something like
Fixpoint add (a b : nat) : nat := match a with
| 0 => b
| S a => S (a + b) (* note the use of notation + *)
Where can I insert the notation definition so I can write the above?
This may look like an overkill for notation, but that's because it's a simplified example. The real use case is a very long definition, and I want to use notation to simplify it.