Druga možnost je povsem matematičen pristop, ki pa ima težavo, da zna postati bolj zapleten od same rešitve in nerazumljiv ljudem, ki nimajo potrebne podlage v diskretni algebri. Težava večine specifikacij se skriva še v eni pomembni podrobnosti: tipično so ločene od programske kode. Ker pa se koda med reševanjem problema spreminja tudi tako zelo, da je treba specifikacijo prilagajati, nastane problem usklajenosti obeh.