Fixpoint quote_positive (p: positive) : value :=
match p with
| xI p' => c_capply suc1 [quote_positive p']
| xO p' => c_capply suc0 [quote_positive p']
| xH    => c_capply suc1 [c_capply zero []]
end.
Definition quote_value (n: N) : value :=
match n with
| N0     => c_capply zero []
| Npos p => quote_positive p
end.

Lemma quote_positive_value p : quote_positive p = quote_value (Npos p).
Hint Resolve succ_correct : eval.