∀ {α : Sort u} {o o' : Ordering} {lt : o = Ordering.lt → α} {eq : o = Ordering.eq → α} {gt : o = Ordering.gt → α}
  {lt' : o' = Ordering.lt → α} {eq' : o' = Ordering.eq → α} {gt' : o' = Ordering.gt → α} (ho : o = o'),
  (∀ (h : o' = Ordering.lt), lt ⋯ = lt' h) →
    (∀ (h : o' = Ordering.eq), eq ⋯ = eq' h) →
      (∀ (h : o' = Ordering.gt), gt ⋯ = gt' h) →
        (match h : o with
          | Ordering.lt => lt h
          | Ordering.eq => eq h
          | Ordering.gt => gt h) =
          match h : o' with
          | Ordering.lt => lt' h
          | Ordering.eq => eq' h
          | Ordering.gt => gt' h