http://sci2s.ugr.es/keel/pdf/specific/articulo/alp99.pdf