add function gen_equal()