About $0!=1$ and $a^0=1$ as cases of empty product. Some useful ''conventions'' as $0!=1$ or $a^0=1$ are particular cases of an empty product, i.e. a product between elements of the empty set. I know that such product is defined as a convention by:
$$
\prod _{x_i\in \emptyset} x_i=1
$$
This convention is usually motivated (see here) by the fact that the definition of the product of $n$ numbers $\{x_1,\cdots x_i,\cdots x_n\}$:
$$
P_n=\prod _{i=1}^n x_i
$$
can be given recursively as $P_n=x_n P_{n-1}$ and the recursive definition become simpler and ''universal'' if we assume $P_0=1$ i.e.: the product with no factors is $1$.
But i don't understand how this convention can be reconciled with the axiomatic definition of the product operation in a field ( or ring) $R$. As far as I know the product is defined as a binary operation $\cdot :R\times R \rightarrow R$ and the empty set is not an element of $R\times R$.
So, my question is: the definition of the empty product is only a notation convention that has not an exact mathematical meaning ( since it can not be derived by the axioms) or it can be given in some way as an axiom when we define a ring? And, in this case what kind of axiom we must introduce so that $0!=1$ and $a^0=1$ became theorems and not simply notational conventions?

While the product operation is defined by the axioms of a field or ring, nothing in those axiom defines what is meant by the operation $\prod$ which acts on an ordered subset $S$ of the field or ring.  So the meaning of the product over zero elements (or for that matter over one element) is a matter of how definition of the operation $\prod (S)$ deals with those cases.
One almost-neat definition is that on any ring or field $R$
$$
\forall S \in R^n, r \in r : \prod(S \cup_\times r)  = \prod(S) \cdot r
$$
where the $R^n$ is saying $S$ is an ordered subset, and the $\cup_\times$ means append $r$ at the end of that ordered subset.
For this definition to give the usual products for $S$ having one or more elements, we must also start with the definition
$$ \prod(\emptyset) = I$$
and that is an underlying reason why this convention is so useful.
