intros H_Sk. destruct (test_u n).
- intros. exists n.
rewrite H_rec, H0; eauto. split. solveeq. eauto.
- destruct (H_Sk) as (k & ?). exists k.
rewrite H_rec, H0; eauto. split. eapply evaluates_equiv. split; value.
transitivity (H (Succ (enc n)) u). solveeq.
rewrite Succ_correct. now eapply evaluates_equiv. firstorder.
Qed.

Lemma C_complete n : satis u n -> exists n, C u ▷ enc n /\ satis u n.