Inductive constraint logic and the mutagenesis problem