Programmi funzionalmente equivalenti (=def) Strutture diverse di programma, che pero' risultano identici come input/output.
Entro certi limiti, una vale l'altra. Se le duplicazioni sono poche, e' comodo semplicemente duplicare, poi c'e' una zona intermedia in cui si equivalgono, ma se le duplicazioni sono molte, piu' di 5 o 10, allora occorre trovare altre tecniche.
Es: utilizzare "funzioni con parametro", e "istruzione switch" per scegliere tra i casi.