Definition sub_correct' : ltac:(auto_for_auto sub_correct) := sub_correct.
Hint Resolve sub_correct' : eval.

Lemma mod_aux_correct n m tn tm:
evaluates tn (value_of_pos n) ->
evaluates tm (value_of_N m) ->
evaluates (mod_auxF (: tn, tm :)) (value_of_N (N.modulo (N.pos n) m)).