prove rev_snoc again. slow. all proofs the same