Un’algebra eterogenea è una coppia , dove è un insieme e è un insieme di operazioni che restituiscono elementi di e possono avere come input elementi al di fuori di essa, detti parametri esterni.
Ad esempio, un’algebra delle liste, potrebbe avere le operazioni
Es: append((1, 2, 3), (4, 5)) = (1, 2, 3, 4, 5)
Es: cons(2, (3, 4, 5)) = (2, 3, 4, 5)
e un insieme di liste che contiene la lista vuota, insieme definiscono un’algebra induttiva.
Si dice che è chiuso rispetto alla funzione se .
Si dice che è chiuso rispetto alla funzione se .
N.B.: Se il dominio della funzione ha solo parametri esterni a , è chiuso rispetto ad (perché l’antecedente dell’implicazione nella definizione di “chiuso rispetto a ” è falso).