Admitted. (* QuickChick plus_comm3_take3. *)
Fixpoint rev_append {X} (l1 l2 : list X) : list X :=
match l1 with
| [] => l2
| x :: l1' => rev_append l1' (x :: l2)
end.
Definition tr_rev {X} (l : list X) : list X :=
rev_append l [].

Theorem evenb_double_conv : forall n,
exists k, n = if evenb n then double k
else S (double k).