Direi che ognuno può avere la sua definizione di funzione. Io ho sempre permesso a dominio e/o codominio di essere vuoti. Questo torna comodo in alcuni frangenti, per esempio uno definisce il prodotto cartesiano della famiglia di insiemi \( \displaystyle (A_i)_{i \in I} \) come
\( \displaystyle \prod_{i \in I} A_i := \{f:I \to \bigcup_{i \in I} A_i\ |\ f(i) \in A_i\ \forall i \in I\} \) .
E' utile pensare a un elemento \( \displaystyle f \) di tale prodotto come alla \( \displaystyle I \) -upla \( \displaystyle (f(i))_{i \in I} \) . E torna utile osservare che con questa definizione si ha \( \displaystyle \prod_{i \in \emptyset} A_i = \{\emptyset\} \) (che è anche un'uguaglianza curiosa). Non c'è ragione di escludere che esista il prodotto indiciato sul vuoto (per lo stesso motivo non c'è ragione di escludere che si possa elevare un numero alla zero).
Questo per ragioni di "compatibilità": in teoria delle categorie la categoria degli insiemi ammette tipicamente il vuoto come oggetto iniziale (cfr.
qui), e questo naturalmente perché si permette al dominio di essere vuoto. Questa "permissione", per fare un altro esempio, serve anche per interpretare oggetti iniziali come limiti proiettivi sul vuoto e oggetti terminali come limiti induttivi sul vuoto.
Inoltre denotato con \( \displaystyle B^A \) l'insieme delle funzioni \( \displaystyle A \to B \) , l'uguaglianza \( \displaystyle |B^A|=|B|^{|A|} \) rimane vera se uno tra A e B è vuoto, essendo \( \displaystyle |\emptyset^A|=0 \) se \( \displaystyle A \neq \emptyset \) (cioè, non ci sono funzioni \( \displaystyle A \to \emptyset \) se A è non vuoto) e \( \displaystyle |B^{\emptyset}|=1 \) (cioè, c'è un'unica funzione \( \displaystyle \emptyset \to B \) ). Secondo questa logica l'unica uguaglianza scomoda è \( \displaystyle 0^0=1 \) , ma finché assumere questo non è contraddittorio, possiamo farlo (limitatamente all'algebra, per evitare di scandalizzarsi
).
Le persone che le persone che le persone amano amano amano.