match l with 
| [] => simp [insert]
| a'::as =>
  match h : f a a' with 
  | true => simp [insert, h]
  | false => simp [insert, h]; apply len_insert_eq_succ_len
α : Type
f : α → α → Bool
r : α → α → Prop
a : α
l : List α
⊢ List.length (insert f a l) = List.length l + 1
no goals