∀ {α : Type u_2} {β : Type u_1} (r : α → α → Prop) (s : β → β → Prop) [inst : DecidableRel r] [inst_1 : DecidableRel s]
  (f : α → β) (x head : α) (tail : List α),
  ((∀ a ∈ tail, r a x ↔ s (f a) (f x)) →
      (∀ a ∈ tail, r x a ↔ s (f x) (f a)) →
        List.map f (List.orderedInsert r x tail) = List.orderedInsert s (f x) (List.map f tail)) →
    (∀ a ∈ head :: tail, r a x ↔ s (f a) (f x)) →
      (∀ a ∈ head :: tail, r x a ↔ s (f x) (f a)) →
        List.map f (List.orderedInsert r x (head :: tail)) = List.orderedInsert s (f x) (List.map f (head :: tail))