Ltac destruct_ptr :=
match goal with
| [ H: isptr (?X) |- _] => let v := fresh "pt" in (remember X as v; destruct v; inv H)
end.

(* Specifications: *)
Lemma lt_lemma : forall v1 v2 b1 t1,
typed_true tint (logical_and_result t1 b1 tint
(eval_binop Ogt tint tint
(Vint v1) (Vint v2))) ->
Forall (Igt v1) [v2].
Lemma body_insertionsort : semax_body Vprog Gprog f_insertionsort insertionsort_spec.
Lemma insert_insertion_sort : forall v l,
insert v (insertion_sort l) = insertion_sort (l ++ [v]).