∀ {α : ℕ → Type u_1} (π : {i j : ℕ} → i ≤ j → α j → α i) (π_refl : ∀ ⦃i : ℕ⦄ (a : α i), π ⋯ a = a)
  (π_trans : ∀ ⦃i j k : ℕ⦄ (hij : i ≤ j) (hjk : j ≤ k) (a : α k), π hij (π hjk a) = π ⋯ a) (i : ℕ) (a : α i) (j : ℕ)
  (b : α j),
  let αs := (i : ℕ) × α i;
  let x :=
    { le := fun a b => ∃ (h : a.fst ≤ b.fst), π h b.snd = a.snd, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯,
      le_antisymm := ⋯ };
  ∀ (motive : ⟨i, a⟩ ≤ ⟨j, b⟩ → Prop) (x : ⟨i, a⟩ ≤ ⟨j, b⟩),
    (∀ (w : ⟨i, a⟩.fst ≤ ⟨j, b⟩.fst) (h : π w ⟨j, b⟩.snd = ⟨i, a⟩.snd), motive ⋯) → motive x