order.jordan_holder
⟷
Mathlib.Order.JordanHolder
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -104,7 +104,7 @@ theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔
(hyz : IsMaximal y (x ⊔ y)) : IsMaximal (x ⊓ y) y :=
by
rw [inf_comm]
- rw [sup_comm] at hxz hyz
+ rw [sup_comm] at hxz hyz
exact is_maximal_inf_left_of_is_maximal_sup hyz hxz
#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup
-/
@@ -277,7 +277,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
dsimp at *
subst h₁
simp only [heq_iff_eq, eq_self_iff_true, true_and_iff]
- simp only [Fin.castIso_refl] at h₂
+ simp only [Fin.castIso_refl] at h₂
exact funext h₂
#align composition_series.to_list_injective CompositionSeries.toList_injective
-/
@@ -288,7 +288,7 @@ theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList
(by
intro i hi
simp only [to_list, List.nthLe_ofFn']
- rw [length_to_list] at hi
+ rw [length_to_list] at hi
exact s.step ⟨i, hi⟩)
#align composition_series.chain'_to_list CompositionSeries.chain'_toList
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -376,7 +376,13 @@ theorem toList_ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l
/-- Two `composition_series` are equal if they have the same elements. See also `ext_fun`. -/
@[ext]
theorem ext {s₁ s₂ : CompositionSeries X} (h : ∀ x, x ∈ s₁ ↔ x ∈ s₂) : s₁ = s₂ :=
- toList_injective <| List.eq_of_perm_of_sorted (by classical) s₁.toList_sorted s₂.toList_sorted
+ toList_injective <|
+ List.eq_of_perm_of_sorted
+ (by
+ classical exact
+ List.perm_of_nodup_nodup_toFinset_eq s₁.to_list_nodup s₂.to_list_nodup
+ (Finset.ext <| by simp [*]))
+ s₁.toList_sorted s₂.toList_sorted
#align composition_series.ext CompositionSeries.ext
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -376,13 +376,7 @@ theorem toList_ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l
/-- Two `composition_series` are equal if they have the same elements. See also `ext_fun`. -/
@[ext]
theorem ext {s₁ s₂ : CompositionSeries X} (h : ∀ x, x ∈ s₁ ↔ x ∈ s₂) : s₁ = s₂ :=
- toList_injective <|
- List.eq_of_perm_of_sorted
- (by
- classical exact
- List.perm_of_nodup_nodup_toFinset_eq s₁.to_list_nodup s₂.to_list_nodup
- (Finset.ext <| by simp [*]))
- s₁.toList_sorted s₂.toList_sorted
+ toList_injective <| List.eq_of_perm_of_sorted (by classical) s₁.toList_sorted s₂.toList_sorted
#align composition_series.ext CompositionSeries.ext
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -961,7 +961,7 @@ theorem jordan_holder (s₁ s₂ : CompositionSeries X) (hb : s₁.bot = s₂.bo
(ht.symm ▸ is_maximal_erase_top_top h0s₂)
(hb.symm ▸ s₂.bot_erase_top ▸ bot_le_of_mem (top_mem _)) with
⟨t, htb, htl, htt, hteq⟩
- have := ih t s₂.erase_top (by simp [htb, ← hb]) htt (Nat.succ_inj'.1 (htl.trans hle))
+ have := ih t s₂.erase_top (by simp [htb, ← hb]) htt (Nat.succ_inj.1 (htl.trans hle))
refine' hteq.trans _
conv_rhs => rw [eq_snoc_erase_top h0s₂]
simp only [ht]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -342,7 +342,7 @@ theorem ofList_toList (s : CompositionSeries X) :
ofList s.toList s.toList_ne_nil s.chain'_toList = s :=
by
refine' ext_fun _ _
- · rw [length_of_list, length_to_list, Nat.succ_sub_one]
+ · rw [length_of_list, length_to_list, Nat.add_one_sub_one]
· rintro ⟨i, hi⟩
dsimp [of_list, to_list]
rw [List.nthLe_ofFn']
@@ -505,7 +505,8 @@ theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠
rcases hxs with ⟨i, rfl⟩
have hi : (i : ℕ) < (s.length - 1).succ :=
by
- conv_rhs => rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx), Nat.succ_sub_one]
+ conv_rhs =>
+ rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx), Nat.add_one_sub_one]
exact lt_of_le_of_ne (Nat.le_of_lt_succ i.2) (by simpa [top, s.inj, Fin.ext_iff] using hx)
refine' ⟨i.cast_succ, _⟩
simp [Fin.ext_iff, Nat.mod_eq_of_lt hi]
@@ -522,7 +523,7 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
· rintro ⟨i, rfl⟩
have hi : (i : ℕ) < s.length :=
by
- conv_rhs => rw [← Nat.succ_sub_one s.length, Nat.succ_sub h]
+ conv_rhs => rw [← Nat.add_one_sub_one s.length, Nat.succ_sub h]
exact i.2
simp [top, Fin.ext_iff, ne_of_lt hi]
· intro h
@@ -542,7 +543,7 @@ theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
IsMaximal s.eraseTop.top s.top :=
by
have : s.length - 1 + 1 = s.length := by
- conv_rhs => rw [← Nat.succ_sub_one s.length] <;> rw [Nat.succ_sub h]
+ conv_rhs => rw [← Nat.add_one_sub_one s.length] <;> rw [Nat.succ_sub h]
rw [top_erase_top, top]
convert s.step ⟨s.length - 1, Nat.sub_lt h zero_lt_one⟩ <;> ext <;> simp [this]
#align composition_series.is_maximal_erase_top_top CompositionSeries.isMaximal_eraseTop_top
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,11 +3,11 @@ Copyright (c) 2021 Chris Hughes. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
-/
-import Mathbin.Order.Lattice
-import Mathbin.Data.List.Sort
-import Mathbin.Logic.Equiv.Fin
-import Mathbin.Logic.Equiv.Functor
-import Mathbin.Data.Fintype.Card
+import Order.Lattice
+import Data.List.Sort
+import Logic.Equiv.Fin
+import Logic.Equiv.Functor
+import Data.Fintype.Card
#align_import order.jordan_holder from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
mathlib commit https://github.com/leanprover-community/mathlib/commit/63721b2c3eba6c325ecf8ae8cca27155a4f6306f
@@ -429,7 +429,7 @@ theorem bot_mem (s : CompositionSeries X) : s.bot ∈ s :=
#print CompositionSeries.bot_le /-
@[simp]
theorem bot_le {s : CompositionSeries X} (i : Fin (s.length + 1)) : s.bot ≤ s i :=
- s.StrictMono.Monotone (Fin.zero_le _)
+ s.StrictMono.Monotone (Fin.zero_le' _)
#align composition_series.bot_le CompositionSeries.bot_le
-/
@@ -705,7 +705,7 @@ theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top
#print CompositionSeries.bot_snoc /-
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
- (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSucc_zero]
+ (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSucc_zero']
#align composition_series.bot_snoc CompositionSeries.bot_snoc
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2021 Chris Hughes. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
-
-! This file was ported from Lean 3 source module order.jordan_holder
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Order.Lattice
import Mathbin.Data.List.Sort
@@ -14,6 +9,8 @@ import Mathbin.Logic.Equiv.Fin
import Mathbin.Logic.Equiv.Functor
import Mathbin.Data.Fintype.Card
+#align_import order.jordan_holder from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
/-!
# Jordan-Hölder Theorem
mathlib commit https://github.com/leanprover-community/mathlib/commit/2fe465deb81bcd7ccafa065bb686888a82f15372
@@ -484,7 +484,7 @@ theorem top_eraseTop (s : CompositionSeries X) :
congr_arg s
(by
ext
- simp only [erase_top_length, Fin.val_last, Fin.coe_castSuccEmb, Fin.coe_ofNat_eq_mod,
+ simp only [erase_top_length, Fin.val_last, Fin.coe_castSucc, Fin.coe_ofNat_eq_mod,
Fin.val_mk, coe_coe])
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
-/
@@ -558,7 +558,8 @@ variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ →
#print CompositionSeries.append_castAdd_aux /-
theorem append_castAdd_aux (i : Fin m) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAdd n i).cast_succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b
+ (Fin.castAddEmb n i).cast_succ =
a i.cast_succ :=
by cases i; simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
@@ -566,11 +567,11 @@ theorem append_castAdd_aux (i : Fin m) :
#print CompositionSeries.append_succ_castAdd_aux /-
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAdd n i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAddEmb n i).succ =
a i.succ :=
by
cases' i with i hi
- simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSuccEmb_mk,
+ simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSucc_mk,
Fin.val_mk, Fin.castAdd_mk]
split_ifs
· rfl
@@ -584,18 +585,18 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#print CompositionSeries.append_natAdd_aux /-
theorem append_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAdd m i).cast_succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAddEmb m i).cast_succ =
b i.cast_succ :=
by
cases i
simp only [Matrix.vecAppend_eq_ite, Nat.not_lt_zero, Fin.natAdd_mk, add_lt_iff_neg_left,
- add_tsub_cancel_left, dif_neg, Fin.castSuccEmb_mk, not_false_iff, Fin.val_mk]
+ add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
-/
#print CompositionSeries.append_succ_natAdd_aux /-
theorem append_succ_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAdd m i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAddEmb m i).succ =
b i.succ :=
by
cases' i with i hi
@@ -635,7 +636,7 @@ theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
#print CompositionSeries.append_castAdd /-
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
- append s₁ s₂ h (Fin.castAdd s₂.length i).cast_succ = s₁ i.cast_succ := by
+ append s₁ s₂ h (Fin.castAddEmb s₂.length i).cast_succ = s₁ i.cast_succ := by
rw [coe_append, append_cast_add_aux _ _ i]
#align composition_series.append_cast_add CompositionSeries.append_castAdd
-/
@@ -643,7 +644,7 @@ theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bo
#print CompositionSeries.append_succ_castAdd /-
@[simp]
theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot)
- (i : Fin s₁.length) : append s₁ s₂ h (Fin.castAdd s₂.length i).succ = s₁ i.succ := by
+ (i : Fin s₁.length) : append s₁ s₂ h (Fin.castAddEmb s₂.length i).succ = s₁ i.succ := by
rw [coe_append, append_succ_cast_add_aux _ _ _ h]
#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAdd
-/
@@ -651,7 +652,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
#print CompositionSeries.append_natAdd /-
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
- append s₁ s₂ h (Fin.natAdd s₁.length i).cast_succ = s₂ i.cast_succ := by
+ append s₁ s₂ h (Fin.natAddEmb s₁.length i).cast_succ = s₂ i.cast_succ := by
rw [coe_append, append_nat_add_aux _ _ i]
#align composition_series.append_nat_add CompositionSeries.append_natAdd
-/
@@ -659,7 +660,7 @@ theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot
#print CompositionSeries.append_succ_natAdd /-
@[simp]
theorem append_succ_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
- append s₁ s₂ h (Fin.natAdd s₁.length i).succ = s₂ i.succ := by
+ append s₁ s₂ h (Fin.natAddEmb s₁.length i).succ = s₂ i.succ := by
rw [coe_append, append_succ_nat_add_aux _ _ i]
#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAdd
-/
@@ -673,9 +674,9 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
series := Fin.snoc s x
step' i := by
refine' Fin.lastCases _ _ i
- · rwa [Fin.snoc_castSuccEmb, Fin.succ_last, Fin.snoc_last, ← top]
+ · rwa [Fin.snoc_castSucc, Fin.succ_last, Fin.snoc_last, ← top]
· intro i
- rw [Fin.snoc_castSuccEmb, ← Fin.castSuccEmb_fin_succ, Fin.snoc_castSuccEmb]
+ rw [Fin.snoc_castSucc, ← Fin.castSucc_fin_succ, Fin.snoc_castSucc]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
-/
@@ -696,18 +697,18 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
#align composition_series.snoc_last CompositionSeries.snoc_last
-/
-#print CompositionSeries.snoc_castSuccEmb /-
+#print CompositionSeries.snoc_castSucc /-
@[simp]
-theorem snoc_castSuccEmb (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
+theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat i.cast_succ = s i :=
- Fin.snoc_castSuccEmb _ _ _
-#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccEmb
+ Fin.snoc_castSucc _ _ _
+#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
-/
#print CompositionSeries.bot_snoc /-
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
- (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSuccEmb_zero]
+ (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSucc_zero]
#align composition_series.bot_snoc CompositionSeries.bot_snoc
-/
@@ -818,7 +819,7 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
refine' Fin.lastCases _ _ i
· simpa [top] using htop
· intro i
- simpa [Fin.succ_castSuccEmb] using hequiv.some_spec i⟩
+ simpa [Fin.succ_castSucc] using hequiv.some_spec i⟩
#align composition_series.equivalent.snoc CompositionSeries.Equivalent.snoc
-/
@@ -837,25 +838,24 @@ theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat
let e : Fin (s.length + 1 + 1) ≃ Fin (s.length + 1 + 1) :=
Equiv.swap (Fin.last _) (Fin.castSuccEmb (Fin.last _))
have h1 : ∀ {i : Fin s.length}, i.cast_succ.cast_succ ≠ (Fin.last _).cast_succ := fun _ =>
- ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
+ ne_of_lt (by simp [Fin.castSucc_lt_last])
have h2 : ∀ {i : Fin s.length}, i.cast_succ.cast_succ ≠ Fin.last _ := fun _ =>
- ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
+ ne_of_lt (by simp [Fin.castSucc_lt_last])
⟨e, by
intro i
dsimp only [e]
refine' Fin.lastCases _ (fun i => _) i
· erw [Equiv.swap_apply_left, snoc_cast_succ, snoc_last, Fin.succ_last, snoc_last,
- snoc_cast_succ, snoc_cast_succ, Fin.succ_castSuccEmb, snoc_cast_succ, Fin.succ_last,
- snoc_last]
+ snoc_cast_succ, snoc_cast_succ, Fin.succ_castSucc, snoc_cast_succ, Fin.succ_last, snoc_last]
exact hr₂
· refine' Fin.lastCases _ (fun i => _) i
· erw [Equiv.swap_apply_right, snoc_cast_succ, snoc_cast_succ, snoc_cast_succ,
- Fin.succ_castSuccEmb, snoc_cast_succ, Fin.succ_last, snoc_last, snoc_last, Fin.succ_last,
+ Fin.succ_castSucc, snoc_cast_succ, Fin.succ_last, snoc_last, snoc_last, Fin.succ_last,
snoc_last]
exact hr₁
· erw [Equiv.swap_apply_of_ne_of_ne h2 h1, snoc_cast_succ, snoc_cast_succ, snoc_cast_succ,
- snoc_cast_succ, Fin.succ_castSuccEmb, snoc_cast_succ, Fin.succ_castSuccEmb,
- snoc_cast_succ, snoc_cast_succ, snoc_cast_succ]
+ snoc_cast_succ, Fin.succ_castSucc, snoc_cast_succ, Fin.succ_castSucc, snoc_cast_succ,
+ snoc_cast_succ, snoc_cast_succ]
exact (s.step i).iso_refl⟩
#align composition_series.equivalent.snoc_snoc_swap CompositionSeries.Equivalent.snoc_snoc_swap
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/5dc6092d09e5e489106865241986f7f2ad28d4c8
@@ -484,7 +484,7 @@ theorem top_eraseTop (s : CompositionSeries X) :
congr_arg s
(by
ext
- simp only [erase_top_length, Fin.val_last, Fin.coe_castSucc, Fin.coe_ofNat_eq_mod,
+ simp only [erase_top_length, Fin.val_last, Fin.coe_castSuccEmb, Fin.coe_ofNat_eq_mod,
Fin.val_mk, coe_coe])
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
-/
@@ -558,7 +558,7 @@ variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ →
#print CompositionSeries.append_castAdd_aux /-
theorem append_castAdd_aux (i : Fin m) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAdd n i).cast_succ =
a i.cast_succ :=
by cases i; simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
@@ -566,11 +566,11 @@ theorem append_castAdd_aux (i : Fin m) :
#print CompositionSeries.append_succ_castAdd_aux /-
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAdd n i).succ =
a i.succ :=
by
cases' i with i hi
- simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSucc_mk,
+ simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSuccEmb_mk,
Fin.val_mk, Fin.castAdd_mk]
split_ifs
· rfl
@@ -584,18 +584,18 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#print CompositionSeries.append_natAdd_aux /-
theorem append_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAdd m i).cast_succ =
b i.cast_succ :=
by
cases i
simp only [Matrix.vecAppend_eq_ite, Nat.not_lt_zero, Fin.natAdd_mk, add_lt_iff_neg_left,
- add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
+ add_tsub_cancel_left, dif_neg, Fin.castSuccEmb_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
-/
#print CompositionSeries.append_succ_natAdd_aux /-
theorem append_succ_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAdd m i).succ =
b i.succ :=
by
cases' i with i hi
@@ -613,7 +613,7 @@ the least element of `s₁` is the maximum element of `s₂`. -/
def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : CompositionSeries X
where
length := s₁.length + s₂.length
- series := Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂
+ series := Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSuccEmb) s₂
step' i := by
refine' Fin.addCases _ _ i
· intro i
@@ -627,7 +627,7 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
#print CompositionSeries.coe_append /-
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
- ⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
+ ⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSuccEmb) s₂ :=
rfl
#align composition_series.coe_append CompositionSeries.coe_append
-/
@@ -673,9 +673,9 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
series := Fin.snoc s x
step' i := by
refine' Fin.lastCases _ _ i
- · rwa [Fin.snoc_castSucc, Fin.succ_last, Fin.snoc_last, ← top]
+ · rwa [Fin.snoc_castSuccEmb, Fin.succ_last, Fin.snoc_last, ← top]
· intro i
- rw [Fin.snoc_castSucc, ← Fin.castSucc_fin_succ, Fin.snoc_castSucc]
+ rw [Fin.snoc_castSuccEmb, ← Fin.castSuccEmb_fin_succ, Fin.snoc_castSuccEmb]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
-/
@@ -696,18 +696,18 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
#align composition_series.snoc_last CompositionSeries.snoc_last
-/
-#print CompositionSeries.snoc_castSucc /-
+#print CompositionSeries.snoc_castSuccEmb /-
@[simp]
-theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
+theorem snoc_castSuccEmb (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat i.cast_succ = s i :=
- Fin.snoc_castSucc _ _ _
-#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
+ Fin.snoc_castSuccEmb _ _ _
+#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccEmb
-/
#print CompositionSeries.bot_snoc /-
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
- (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSucc_zero]
+ (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSuccEmb_zero]
#align composition_series.bot_snoc CompositionSeries.bot_snoc
-/
@@ -818,7 +818,7 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
refine' Fin.lastCases _ _ i
· simpa [top] using htop
· intro i
- simpa [Fin.succ_castSucc] using hequiv.some_spec i⟩
+ simpa [Fin.succ_castSuccEmb] using hequiv.some_spec i⟩
#align composition_series.equivalent.snoc CompositionSeries.Equivalent.snoc
-/
@@ -835,26 +835,27 @@ theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat
(hr₂ : Iso (x₁, y₁) (s.top, x₂)) :
Equivalent (snoc (snoc s x₁ hsat₁) y₁ hsaty₁) (snoc (snoc s x₂ hsat₂) y₂ hsaty₂) :=
let e : Fin (s.length + 1 + 1) ≃ Fin (s.length + 1 + 1) :=
- Equiv.swap (Fin.last _) (Fin.castSucc (Fin.last _))
+ Equiv.swap (Fin.last _) (Fin.castSuccEmb (Fin.last _))
have h1 : ∀ {i : Fin s.length}, i.cast_succ.cast_succ ≠ (Fin.last _).cast_succ := fun _ =>
- ne_of_lt (by simp [Fin.castSucc_lt_last])
+ ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
have h2 : ∀ {i : Fin s.length}, i.cast_succ.cast_succ ≠ Fin.last _ := fun _ =>
- ne_of_lt (by simp [Fin.castSucc_lt_last])
+ ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
⟨e, by
intro i
dsimp only [e]
refine' Fin.lastCases _ (fun i => _) i
· erw [Equiv.swap_apply_left, snoc_cast_succ, snoc_last, Fin.succ_last, snoc_last,
- snoc_cast_succ, snoc_cast_succ, Fin.succ_castSucc, snoc_cast_succ, Fin.succ_last, snoc_last]
+ snoc_cast_succ, snoc_cast_succ, Fin.succ_castSuccEmb, snoc_cast_succ, Fin.succ_last,
+ snoc_last]
exact hr₂
· refine' Fin.lastCases _ (fun i => _) i
· erw [Equiv.swap_apply_right, snoc_cast_succ, snoc_cast_succ, snoc_cast_succ,
- Fin.succ_castSucc, snoc_cast_succ, Fin.succ_last, snoc_last, snoc_last, Fin.succ_last,
+ Fin.succ_castSuccEmb, snoc_cast_succ, Fin.succ_last, snoc_last, snoc_last, Fin.succ_last,
snoc_last]
exact hr₁
· erw [Equiv.swap_apply_of_ne_of_ne h2 h1, snoc_cast_succ, snoc_cast_succ, snoc_cast_succ,
- snoc_cast_succ, Fin.succ_castSucc, snoc_cast_succ, Fin.succ_castSucc, snoc_cast_succ,
- snoc_cast_succ, snoc_cast_succ]
+ snoc_cast_succ, Fin.succ_castSuccEmb, snoc_cast_succ, Fin.succ_castSuccEmb,
+ snoc_cast_succ, snoc_cast_succ, snoc_cast_succ]
exact (s.step i).iso_refl⟩
#align composition_series.equivalent.snoc_snoc_swap CompositionSeries.Equivalent.snoc_snoc_swap
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/728ef9dbb281241906f25cbeb30f90d83e0bb451
@@ -241,7 +241,7 @@ def toList (s : CompositionSeries X) : List X :=
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.length)
- (h : ∀ i, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ hl) i)) : s₁ = s₂ :=
+ (h : ∀ i, s₁ i = s₂ (Fin.castIso (congr_arg Nat.succ hl) i)) : s₁ = s₂ :=
by
cases s₁; cases s₂
dsimp at *
@@ -270,7 +270,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
have h₁ : s₁.length = s₂.length :=
Nat.succ_injective
((List.length_ofFn s₁).symm.trans <| (congr_arg List.length h).trans <| List.length_ofFn s₂)
- have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ h₁) i) :=
+ have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.castIso (congr_arg Nat.succ h₁) i) :=
by
intro i
rw [← List.nthLe_ofFn s₁ i, ← List.nthLe_ofFn s₂]
@@ -280,7 +280,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
dsimp at *
subst h₁
simp only [heq_iff_eq, eq_self_iff_true, true_and_iff]
- simp only [Fin.cast_refl] at h₂
+ simp only [Fin.castIso_refl] at h₂
exact funext h₂
#align composition_series.to_list_injective CompositionSeries.toList_injective
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -102,6 +102,7 @@ namespace JordanHolderLattice
variable {X : Type u} [Lattice X] [JordanHolderLattice X]
+#print JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup /-
theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔ y))
(hyz : IsMaximal y (x ⊔ y)) : IsMaximal (x ⊓ y) y :=
by
@@ -109,7 +110,9 @@ theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔
rw [sup_comm] at hxz hyz
exact is_maximal_inf_left_of_is_maximal_sup hyz hxz
#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup
+-/
+#print JordanHolderLattice.isMaximal_of_eq_inf /-
theorem isMaximal_of_eq_inf (x b : X) {a y : X} (ha : x ⊓ y = a) (hxy : x ≠ y) (hxb : IsMaximal x b)
(hyb : IsMaximal y b) : IsMaximal a y :=
by
@@ -117,10 +120,13 @@ theorem isMaximal_of_eq_inf (x b : X) {a y : X} (ha : x ⊓ y = a) (hxy : x ≠
substs a b
exact is_maximal_inf_right_of_is_maximal_sup hxb hyb
#align jordan_holder_lattice.is_maximal_of_eq_inf JordanHolderLattice.isMaximal_of_eq_inf
+-/
+#print JordanHolderLattice.second_iso_of_eq /-
theorem second_iso_of_eq {x y a b : X} (hm : IsMaximal x a) (ha : x ⊔ y = a) (hb : x ⊓ y = b) :
Iso (x, a) (b, y) := by substs a b <;> exact second_iso hm
#align jordan_holder_lattice.second_iso_of_eq JordanHolderLattice.second_iso_of_eq
+-/
#print JordanHolderLattice.IsMaximal.iso_refl /-
theorem IsMaximal.iso_refl {x y : X} (h : IsMaximal x y) : Iso (x, y) (x, y) :=
@@ -166,23 +172,31 @@ instance [Inhabited X] : Inhabited (CompositionSeries X) :=
variable {X}
+#print CompositionSeries.step /-
theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.cast_succ) (s i.succ) :=
s.step'
#align composition_series.step CompositionSeries.step
+-/
+#print CompositionSeries.coeFn_mk /-
@[simp]
theorem coeFn_mk (length : ℕ) (series step) :
(@CompositionSeries.mk X _ _ length series step : Fin length.succ → X) = series :=
rfl
#align composition_series.coe_fn_mk CompositionSeries.coeFn_mk
+-/
+#print CompositionSeries.lt_succ /-
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) : s i.cast_succ < s i.succ :=
lt_of_isMaximal (s.step _)
#align composition_series.lt_succ CompositionSeries.lt_succ
+-/
+#print CompositionSeries.strictMono /-
protected theorem strictMono (s : CompositionSeries X) : StrictMono s :=
Fin.strictMono_iff_lt_succ.2 s.lt_succ
#align composition_series.strict_mono CompositionSeries.strictMono
+-/
#print CompositionSeries.injective /-
protected theorem injective (s : CompositionSeries X) : Function.Injective s :=
@@ -223,6 +237,7 @@ def toList (s : CompositionSeries X) : List X :=
#align composition_series.to_list CompositionSeries.toList
-/
+#print CompositionSeries.ext_fun /-
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.length)
@@ -233,6 +248,7 @@ theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.lengt
subst hl
simpa [Function.funext_iff] using h
#align composition_series.ext_fun CompositionSeries.ext_fun
+-/
#print CompositionSeries.length_toList /-
@[simp]
@@ -540,12 +556,15 @@ section FinLemmas
-- TODO: move these to `vec_notation` and rename them to better describe their statement
variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
+#print CompositionSeries.append_castAdd_aux /-
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
a i.cast_succ :=
by cases i; simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
+-/
+#print CompositionSeries.append_succ_castAdd_aux /-
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
a i.succ :=
@@ -561,7 +580,9 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
_ = a (Fin.last _) := h.symm
_ = _ := congr_arg a (by simp [Fin.ext_iff, this])
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
+-/
+#print CompositionSeries.append_natAdd_aux /-
theorem append_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
b i.cast_succ :=
@@ -570,7 +591,9 @@ theorem append_natAdd_aux (i : Fin n) :
simp only [Matrix.vecAppend_eq_ite, Nat.not_lt_zero, Fin.natAdd_mk, add_lt_iff_neg_left,
add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
+-/
+#print CompositionSeries.append_succ_natAdd_aux /-
theorem append_succ_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
b i.succ :=
@@ -579,6 +602,7 @@ theorem append_succ_natAdd_aux (i : Fin n) :
simp only [Matrix.vecAppend_eq_ite, add_assoc, Nat.not_lt_zero, Fin.natAdd_mk,
add_lt_iff_neg_left, add_tsub_cancel_left, Fin.succ_mk, dif_neg, not_false_iff, Fin.val_mk]
#align composition_series.append_succ_nat_add_aux CompositionSeries.append_succ_natAdd_aux
+-/
end FinLemmas
@@ -601,34 +625,44 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
#align composition_series.append CompositionSeries.append
-/
+#print CompositionSeries.coe_append /-
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
rfl
#align composition_series.coe_append CompositionSeries.coe_append
+-/
+#print CompositionSeries.append_castAdd /-
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
append s₁ s₂ h (Fin.castAdd s₂.length i).cast_succ = s₁ i.cast_succ := by
rw [coe_append, append_cast_add_aux _ _ i]
#align composition_series.append_cast_add CompositionSeries.append_castAdd
+-/
+#print CompositionSeries.append_succ_castAdd /-
@[simp]
theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot)
(i : Fin s₁.length) : append s₁ s₂ h (Fin.castAdd s₂.length i).succ = s₁ i.succ := by
rw [coe_append, append_succ_cast_add_aux _ _ _ h]
#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAdd
+-/
+#print CompositionSeries.append_natAdd /-
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
append s₁ s₂ h (Fin.natAdd s₁.length i).cast_succ = s₂ i.cast_succ := by
rw [coe_append, append_nat_add_aux _ _ i]
#align composition_series.append_nat_add CompositionSeries.append_natAdd
+-/
+#print CompositionSeries.append_succ_natAdd /-
@[simp]
theorem append_succ_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
append s₁ s₂ h (Fin.natAdd s₁.length i).succ = s₂ i.succ := by
rw [coe_append, append_succ_nat_add_aux _ _ i]
#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAdd
+-/
#print CompositionSeries.snoc /-
/-- Add an element to the top of a `composition_series` -/
@@ -662,11 +696,13 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
#align composition_series.snoc_last CompositionSeries.snoc_last
-/
+#print CompositionSeries.snoc_castSucc /-
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat i.cast_succ = s i :=
Fin.snoc_castSucc _ _ _
#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
+-/
#print CompositionSeries.bot_snoc /-
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -560,7 +560,6 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
b ⟨i + 1 - m, by simp [this]⟩ = b 0 := congr_arg b (by simp [Fin.ext_iff, this])
_ = a (Fin.last _) := h.symm
_ = _ := congr_arg a (by simp [Fin.ext_iff, this])
-
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
theorem append_natAdd_aux (i : Fin n) :
@@ -760,7 +759,6 @@ theorem append {s₁ s₂ t₁ t₂ : CompositionSeries X} (hs : s₁.top = s₂
Fin (s₁.length + s₂.length) ≃ Sum (Fin s₁.length) (Fin s₂.length) := finSumFinEquiv.symm
_ ≃ Sum (Fin t₁.length) (Fin t₂.length) := (Equiv.sumCongr h₁.some h₂.some)
_ ≃ Fin (t₁.length + t₂.length) := finSumFinEquiv
-
⟨e, by
intro i
refine' Fin.addCases _ _ i
@@ -780,7 +778,6 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
Fin (s₁.length + 1) ≃ Option (Fin s₁.length) := finSuccEquivLast
_ ≃ Option (Fin s₂.length) := (Functor.mapEquiv Option hequiv.some)
_ ≃ Fin (s₂.length + 1) := finSuccEquivLast.symm
-
⟨e, fun i => by
refine' Fin.lastCases _ _ i
· simpa [top] using htop
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -367,8 +367,8 @@ theorem ext {s₁ s₂ : CompositionSeries X} (h : ∀ x, x ∈ s₁ ↔ x ∈ s
List.eq_of_perm_of_sorted
(by
classical exact
- List.perm_of_nodup_nodup_toFinset_eq s₁.to_list_nodup s₂.to_list_nodup
- (Finset.ext <| by simp [*]))
+ List.perm_of_nodup_nodup_toFinset_eq s₁.to_list_nodup s₂.to_list_nodup
+ (Finset.ext <| by simp [*]))
s₁.toList_sorted s₂.toList_sorted
#align composition_series.ext CompositionSeries.ext
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -106,7 +106,7 @@ theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔
(hyz : IsMaximal y (x ⊔ y)) : IsMaximal (x ⊓ y) y :=
by
rw [inf_comm]
- rw [sup_comm] at hxz hyz
+ rw [sup_comm] at hxz hyz
exact is_maximal_inf_left_of_is_maximal_sup hyz hxz
#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup
@@ -264,7 +264,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
dsimp at *
subst h₁
simp only [heq_iff_eq, eq_self_iff_true, true_and_iff]
- simp only [Fin.cast_refl] at h₂
+ simp only [Fin.cast_refl] at h₂
exact funext h₂
#align composition_series.to_list_injective CompositionSeries.toList_injective
-/
@@ -275,7 +275,7 @@ theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList
(by
intro i hi
simp only [to_list, List.nthLe_ofFn']
- rw [length_to_list] at hi
+ rw [length_to_list] at hi
exact s.step ⟨i, hi⟩)
#align composition_series.chain'_to_list CompositionSeries.chain'_toList
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -206,6 +206,7 @@ theorem mem_def {x : X} {s : CompositionSeries X} : x ∈ s ↔ x ∈ Set.range
#align composition_series.mem_def CompositionSeries.mem_def
-/
+#print CompositionSeries.total /-
theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s) : x ≤ y ∨ y ≤ x :=
by
rcases Set.mem_range.1 hx with ⟨i, rfl⟩
@@ -213,6 +214,7 @@ theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
rw [s.strict_mono.le_iff_le, s.strict_mono.le_iff_le]
exact le_total i j
#align composition_series.total CompositionSeries.total
+-/
#print CompositionSeries.toList /-
/-- The ordered `list X` of elements of a `composition_series X`. -/
@@ -278,6 +280,7 @@ theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList
#align composition_series.chain'_to_list CompositionSeries.chain'_toList
-/
+#print CompositionSeries.toList_sorted /-
theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
List.pairwise_iff_nthLe.2 fun i j hi hij =>
by
@@ -285,6 +288,7 @@ theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
rw [List.nthLe_ofFn', List.nthLe_ofFn']
exact s.strict_mono hij
#align composition_series.to_list_sorted CompositionSeries.toList_sorted
+-/
#print CompositionSeries.toList_nodup /-
theorem toList_nodup (s : CompositionSeries X) : s.toList.Nodup :=
@@ -382,15 +386,19 @@ theorem top_mem (s : CompositionSeries X) : s.top ∈ s :=
#align composition_series.top_mem CompositionSeries.top_mem
-/
+#print CompositionSeries.le_top /-
@[simp]
theorem le_top {s : CompositionSeries X} (i : Fin (s.length + 1)) : s i ≤ s.top :=
s.StrictMono.Monotone (Fin.le_last _)
#align composition_series.le_top CompositionSeries.le_top
+-/
+#print CompositionSeries.le_top_of_mem /-
theorem le_top_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : x ≤ s.top :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ le_top _
#align composition_series.le_top_of_mem CompositionSeries.le_top_of_mem
+-/
#print CompositionSeries.bot /-
/-- The smallest element of a `composition_series` -/
@@ -405,15 +413,19 @@ theorem bot_mem (s : CompositionSeries X) : s.bot ∈ s :=
#align composition_series.bot_mem CompositionSeries.bot_mem
-/
+#print CompositionSeries.bot_le /-
@[simp]
theorem bot_le {s : CompositionSeries X} (i : Fin (s.length + 1)) : s.bot ≤ s i :=
s.StrictMono.Monotone (Fin.zero_le _)
#align composition_series.bot_le CompositionSeries.bot_le
+-/
+#print CompositionSeries.bot_le_of_mem /-
theorem bot_le_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : s.bot ≤ x :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ bot_le _
#align composition_series.bot_le_of_mem CompositionSeries.bot_le_of_mem
+-/
#print CompositionSeries.length_pos_of_mem_ne /-
theorem length_pos_of_mem_ne {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
@@ -461,9 +473,11 @@ theorem top_eraseTop (s : CompositionSeries X) :
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
-/
+#print CompositionSeries.eraseTop_top_le /-
theorem eraseTop_top_le (s : CompositionSeries X) : s.eraseTop.top ≤ s.top := by
simp [erase_top, top, s.strict_mono.le_iff_le, Fin.le_iff_val_le_val, tsub_le_self]
#align composition_series.erase_top_top_le CompositionSeries.eraseTop_top_le
+-/
#print CompositionSeries.bot_eraseTop /-
@[simp]
@@ -503,10 +517,12 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
#align composition_series.mem_erase_top CompositionSeries.mem_eraseTop
-/
+#print CompositionSeries.lt_top_of_mem_eraseTop /-
theorem lt_top_of_mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length)
(hx : x ∈ s.eraseTop) : x < s.top :=
lt_of_le_of_ne (le_top_of_mem ((mem_eraseTop h).1 hx).2) ((mem_eraseTop h).1 hx).1
#align composition_series.lt_top_of_mem_erase_top CompositionSeries.lt_top_of_mem_eraseTop
+-/
#print CompositionSeries.isMaximal_eraseTop_top /-
theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
@@ -849,6 +865,7 @@ theorem eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂ : Compositio
#align composition_series.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero CompositionSeries.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero
-/
+#print CompositionSeries.exists_top_eq_snoc_equivalant /-
/-- Given a `composition_series`, `s`, and an element `x`
such that `x` is maximal inside `s.top` there is a series, `t`,
such that `t.top = x`, `t.bot = s.bot`
@@ -896,6 +913,7 @@ theorem exists_top_eq_snoc_equivalant (s : CompositionSeries X) (x : X) (hm : Is
second_iso_of_eq (is_maximal_erase_top_top h0s)
(sup_eq_of_is_maximal (is_maximal_erase_top_top h0s) hm hetx) (by rw [inf_comm, htt])
#align composition_series.exists_top_eq_snoc_equivalant CompositionSeries.exists_top_eq_snoc_equivalant
+-/
#print CompositionSeries.jordan_holder /-
/-- The **Jordan-Hölder** theorem, stated for any `jordan_holder_lattice`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -102,12 +102,6 @@ namespace JordanHolderLattice
variable {X : Type u} [Lattice X] [JordanHolderLattice X]
-/- warning: jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup -> JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (Sup.sup.{u1} X (SemilatticeSup.toHasSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y (Sup.sup.{u1} X (SemilatticeSup.toHasSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (Inf.inf.{u1} X (SemilatticeInf.toHasInf.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)) x y) y)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (Sup.sup.{u1} X (SemilatticeSup.toSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y (Sup.sup.{u1} X (SemilatticeSup.toSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (Inf.inf.{u1} X (Lattice.toInf.{u1} X _inst_1) x y) y)
-Case conversion may be inaccurate. Consider using '#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_supₓ'. -/
theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔ y))
(hyz : IsMaximal y (x ⊔ y)) : IsMaximal (x ⊓ y) y :=
by
@@ -116,12 +110,6 @@ theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔
exact is_maximal_inf_left_of_is_maximal_sup hyz hxz
#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup
-/- warning: jordan_holder_lattice.is_maximal_of_eq_inf -> JordanHolderLattice.isMaximal_of_eq_inf is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (x : X) (b : X) {a : X} {y : X}, (Eq.{succ u1} X (Inf.inf.{u1} X (SemilatticeInf.toHasInf.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)) x y) a) -> (Ne.{succ u1} X x y) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 a y)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (x : X) (b : X) {a : X} {y : X}, (Eq.{succ u1} X (Inf.inf.{u1} X (Lattice.toInf.{u1} X _inst_1) x y) a) -> (Ne.{succ u1} X x y) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 a y)
-Case conversion may be inaccurate. Consider using '#align jordan_holder_lattice.is_maximal_of_eq_inf JordanHolderLattice.isMaximal_of_eq_infₓ'. -/
theorem isMaximal_of_eq_inf (x b : X) {a y : X} (ha : x ⊓ y = a) (hxy : x ≠ y) (hxb : IsMaximal x b)
(hyb : IsMaximal y b) : IsMaximal a y :=
by
@@ -130,12 +118,6 @@ theorem isMaximal_of_eq_inf (x b : X) {a y : X} (ha : x ⊓ y = a) (hxy : x ≠
exact is_maximal_inf_right_of_is_maximal_sup hxb hyb
#align jordan_holder_lattice.is_maximal_of_eq_inf JordanHolderLattice.isMaximal_of_eq_inf
-/- warning: jordan_holder_lattice.second_iso_of_eq -> JordanHolderLattice.second_iso_of_eq is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X} {a : X} {b : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x a) -> (Eq.{succ u1} X (Sup.sup.{u1} X (SemilatticeSup.toHasSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y) a) -> (Eq.{succ u1} X (Inf.inf.{u1} X (SemilatticeInf.toHasInf.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)) x y) b) -> (JordanHolderLattice.Iso.{u1} X _inst_1 _inst_2 (Prod.mk.{u1, u1} X X x a) (Prod.mk.{u1, u1} X X b y))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X} {a : X} {b : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x a) -> (Eq.{succ u1} X (Sup.sup.{u1} X (SemilatticeSup.toSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y) a) -> (Eq.{succ u1} X (Inf.inf.{u1} X (Lattice.toInf.{u1} X _inst_1) x y) b) -> (JordanHolderLattice.Iso.{u1} X _inst_1 _inst_2 (Prod.mk.{u1, u1} X X x a) (Prod.mk.{u1, u1} X X b y))
-Case conversion may be inaccurate. Consider using '#align jordan_holder_lattice.second_iso_of_eq JordanHolderLattice.second_iso_of_eqₓ'. -/
theorem second_iso_of_eq {x y a b : X} (hm : IsMaximal x a) (ha : x ⊔ y = a) (hb : x ⊓ y = b) :
Iso (x, a) (b, y) := by substs a b <;> exact second_iso hm
#align jordan_holder_lattice.second_iso_of_eq JordanHolderLattice.second_iso_of_eq
@@ -184,44 +166,20 @@ instance [Inhabited X] : Inhabited (CompositionSeries X) :=
variable {X}
-/- warning: composition_series.step -> CompositionSeries.step is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
-Case conversion may be inaccurate. Consider using '#align composition_series.step CompositionSeries.stepₓ'. -/
theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.cast_succ) (s i.succ) :=
s.step'
#align composition_series.step CompositionSeries.step
-/- warning: composition_series.coe_fn_mk -> CompositionSeries.coeFn_mk is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe length) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin length) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
-Case conversion may be inaccurate. Consider using '#align composition_series.coe_fn_mk CompositionSeries.coeFn_mkₓ'. -/
@[simp]
theorem coeFn_mk (length : ℕ) (series step) :
(@CompositionSeries.mk X _ _ length series step : Fin length.succ → X) = series :=
rfl
#align composition_series.coe_fn_mk CompositionSeries.coeFn_mk
-/- warning: composition_series.lt_succ -> CompositionSeries.lt_succ is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
-Case conversion may be inaccurate. Consider using '#align composition_series.lt_succ CompositionSeries.lt_succₓ'. -/
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) : s i.cast_succ < s i.succ :=
lt_of_isMaximal (s.step _)
#align composition_series.lt_succ CompositionSeries.lt_succ
-/- warning: composition_series.strict_mono -> CompositionSeries.strictMono is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s)
-Case conversion may be inaccurate. Consider using '#align composition_series.strict_mono CompositionSeries.strictMonoₓ'. -/
protected theorem strictMono (s : CompositionSeries X) : StrictMono s :=
Fin.strictMono_iff_lt_succ.2 s.lt_succ
#align composition_series.strict_mono CompositionSeries.strictMono
@@ -248,12 +206,6 @@ theorem mem_def {x : X} {s : CompositionSeries X} : x ∈ s ↔ x ∈ Set.range
#align composition_series.mem_def CompositionSeries.mem_def
-/
-/- warning: composition_series.total -> CompositionSeries.total is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X} {y : X}, (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) y s) -> (Or (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x y) (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) y x))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X} {y : X}, (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) y s) -> (Or (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x y) (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) y x))
-Case conversion may be inaccurate. Consider using '#align composition_series.total CompositionSeries.totalₓ'. -/
theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s) : x ≤ y ∨ y ≤ x :=
by
rcases Set.mem_range.1 hx with ⟨i, rfl⟩
@@ -269,9 +221,6 @@ def toList (s : CompositionSeries X) : List X :=
#align composition_series.to_list CompositionSeries.toList
-/
-/- warning: composition_series.ext_fun -> CompositionSeries.ext_fun is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.ext_fun CompositionSeries.ext_funₓ'. -/
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.length)
@@ -329,12 +278,6 @@ theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList
#align composition_series.chain'_to_list CompositionSeries.chain'_toList
-/
-/- warning: composition_series.to_list_sorted -> CompositionSeries.toList_sorted is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), List.Sorted.{u1} X (LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))))) (CompositionSeries.toList.{u1} X _inst_1 _inst_2 s)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), List.Sorted.{u1} X (fun (x._@.Mathlib.Order.JordanHolder._hyg.1315 : X) (x._@.Mathlib.Order.JordanHolder._hyg.1317 : X) => LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x._@.Mathlib.Order.JordanHolder._hyg.1315 x._@.Mathlib.Order.JordanHolder._hyg.1317) (CompositionSeries.toList.{u1} X _inst_1 _inst_2 s)
-Case conversion may be inaccurate. Consider using '#align composition_series.to_list_sorted CompositionSeries.toList_sortedₓ'. -/
theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
List.pairwise_iff_nthLe.2 fun i j hi hij =>
by
@@ -439,23 +382,11 @@ theorem top_mem (s : CompositionSeries X) : s.top ∈ s :=
#align composition_series.top_mem CompositionSeries.top_mem
-/
-/- warning: composition_series.le_top -> CompositionSeries.le_top is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
-Case conversion may be inaccurate. Consider using '#align composition_series.le_top CompositionSeries.le_topₓ'. -/
@[simp]
theorem le_top {s : CompositionSeries X} (i : Fin (s.length + 1)) : s i ≤ s.top :=
s.StrictMono.Monotone (Fin.le_last _)
#align composition_series.le_top CompositionSeries.le_top
-/- warning: composition_series.le_top_of_mem -> CompositionSeries.le_top_of_mem is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
-Case conversion may be inaccurate. Consider using '#align composition_series.le_top_of_mem CompositionSeries.le_top_of_memₓ'. -/
theorem le_top_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : x ≤ s.top :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ le_top _
@@ -474,23 +405,11 @@ theorem bot_mem (s : CompositionSeries X) : s.bot ∈ s :=
#align composition_series.bot_mem CompositionSeries.bot_mem
-/
-/- warning: composition_series.bot_le -> CompositionSeries.bot_le is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
-Case conversion may be inaccurate. Consider using '#align composition_series.bot_le CompositionSeries.bot_leₓ'. -/
@[simp]
theorem bot_le {s : CompositionSeries X} (i : Fin (s.length + 1)) : s.bot ≤ s i :=
s.StrictMono.Monotone (Fin.zero_le _)
#align composition_series.bot_le CompositionSeries.bot_le
-/- warning: composition_series.bot_le_of_mem -> CompositionSeries.bot_le_of_mem is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x)
-Case conversion may be inaccurate. Consider using '#align composition_series.bot_le_of_mem CompositionSeries.bot_le_of_memₓ'. -/
theorem bot_le_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : s.bot ≤ x :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ bot_le _
@@ -542,12 +461,6 @@ theorem top_eraseTop (s : CompositionSeries X) :
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
-/
-/- warning: composition_series.erase_top_top_le -> CompositionSeries.eraseTop_top_le is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.top.{u1} X _inst_1 _inst_2 (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.top.{u1} X _inst_1 _inst_2 (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
-Case conversion may be inaccurate. Consider using '#align composition_series.erase_top_top_le CompositionSeries.eraseTop_top_leₓ'. -/
theorem eraseTop_top_le (s : CompositionSeries X) : s.eraseTop.top ≤ s.top := by
simp [erase_top, top, s.strict_mono.le_iff_le, Fin.le_iff_val_le_val, tsub_le_self]
#align composition_series.erase_top_top_le CompositionSeries.eraseTop_top_le
@@ -590,12 +503,6 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
#align composition_series.mem_erase_top CompositionSeries.mem_eraseTop
-/
-/- warning: composition_series.lt_top_of_mem_erase_top -> CompositionSeries.lt_top_of_mem_eraseTop is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) -> (LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) -> (LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
-Case conversion may be inaccurate. Consider using '#align composition_series.lt_top_of_mem_erase_top CompositionSeries.lt_top_of_mem_eraseTopₓ'. -/
theorem lt_top_of_mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length)
(hx : x ∈ s.eraseTop) : x < s.top :=
lt_of_le_of_ne (le_top_of_mem ((mem_eraseTop h).1 hx).2) ((mem_eraseTop h).1 hx).1
@@ -617,18 +524,12 @@ section FinLemmas
-- TODO: move these to `vec_notation` and rename them to better describe their statement
variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
-/- warning: composition_series.append_cast_add_aux -> CompositionSeries.append_castAdd_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_auxₓ'. -/
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
a i.cast_succ :=
by cases i; simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
-/- warning: composition_series.append_succ_cast_add_aux -> CompositionSeries.append_succ_castAdd_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_auxₓ'. -/
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
a i.succ :=
@@ -646,9 +547,6 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
-/- warning: composition_series.append_nat_add_aux -> CompositionSeries.append_natAdd_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_auxₓ'. -/
theorem append_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
b i.cast_succ :=
@@ -658,12 +556,6 @@ theorem append_natAdd_aux (i : Fin n) :
add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
-/- warning: composition_series.append_succ_nat_add_aux -> CompositionSeries.append_succ_natAdd_aux is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
-but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
-Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add_aux CompositionSeries.append_succ_natAdd_auxₓ'. -/
theorem append_succ_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
b i.succ :=
@@ -694,50 +586,29 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
#align composition_series.append CompositionSeries.append
-/
-/- warning: composition_series.coe_append -> CompositionSeries.coe_append is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.coe_append CompositionSeries.coe_appendₓ'. -/
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
rfl
#align composition_series.coe_append CompositionSeries.coe_append
-/- warning: composition_series.append_cast_add -> CompositionSeries.append_castAdd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add CompositionSeries.append_castAddₓ'. -/
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
append s₁ s₂ h (Fin.castAdd s₂.length i).cast_succ = s₁ i.cast_succ := by
rw [coe_append, append_cast_add_aux _ _ i]
#align composition_series.append_cast_add CompositionSeries.append_castAdd
-/- warning: composition_series.append_succ_cast_add -> CompositionSeries.append_succ_castAdd is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
-Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAddₓ'. -/
@[simp]
theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot)
(i : Fin s₁.length) : append s₁ s₂ h (Fin.castAdd s₂.length i).succ = s₁ i.succ := by
rw [coe_append, append_succ_cast_add_aux _ _ _ h]
#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAdd
-/- warning: composition_series.append_nat_add -> CompositionSeries.append_natAdd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add CompositionSeries.append_natAddₓ'. -/
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
append s₁ s₂ h (Fin.natAdd s₁.length i).cast_succ = s₂ i.cast_succ := by
rw [coe_append, append_nat_add_aux _ _ i]
#align composition_series.append_nat_add CompositionSeries.append_natAdd
-/- warning: composition_series.append_succ_nat_add -> CompositionSeries.append_succ_natAdd is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
-Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAddₓ'. -/
@[simp]
theorem append_succ_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
append s₁ s₂ h (Fin.natAdd s₁.length i).succ = s₂ i.succ := by
@@ -776,9 +647,6 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
#align composition_series.snoc_last CompositionSeries.snoc_last
-/
-/- warning: composition_series.snoc_cast_succ -> CompositionSeries.snoc_castSucc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccₓ'. -/
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat i.cast_succ = s i :=
@@ -981,12 +849,6 @@ theorem eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂ : Compositio
#align composition_series.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero CompositionSeries.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero
-/
-/- warning: composition_series.exists_top_eq_snoc_equivalant -> CompositionSeries.exists_top_eq_snoc_equivalant is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hm : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)), (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x) -> (Exists.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (t : CompositionSeries.{u1} X _inst_1 _inst_2) => And (Eq.{succ u1} X (CompositionSeries.bot.{u1} X _inst_1 _inst_2 t) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s)) (And (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 t) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Exists.{0} (Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) (fun (htx : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) => CompositionSeries.Equivalent.{u1} X _inst_1 _inst_2 s (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 t (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) (Eq.subst.{succ u1} X (fun (_x : X) => JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 _x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) (Eq.symm.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x htx) hm)))))))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hm : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)), (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x) -> (Exists.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (t : CompositionSeries.{u1} X _inst_1 _inst_2) => And (Eq.{succ u1} X (CompositionSeries.bot.{u1} X _inst_1 _inst_2 t) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s)) (And (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 t) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Exists.{0} (Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) (fun (htx : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) => CompositionSeries.Equivalent.{u1} X _inst_1 _inst_2 s (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 t (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) (Eq.rec.{0, succ u1} X x (fun (x._@.Mathlib.Order.JordanHolder._hyg.5781 : X) (h._@.Mathlib.Order.JordanHolder._hyg.5782 : Eq.{succ u1} X x x._@.Mathlib.Order.JordanHolder._hyg.5781) => JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x._@.Mathlib.Order.JordanHolder._hyg.5781 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)) hm (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) (Eq.symm.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x htx))))))))
-Case conversion may be inaccurate. Consider using '#align composition_series.exists_top_eq_snoc_equivalant CompositionSeries.exists_top_eq_snoc_equivalantₓ'. -/
/-- Given a `composition_series`, `s`, and an element `x`
such that `x` is maximal inside `s.top` there is a series, `t`,
such that `t.top = x`, `t.bot = s.bot`
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -623,9 +623,7 @@ Case conversion may be inaccurate. Consider using '#align composition_series.app
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
a i.cast_succ :=
- by
- cases i
- simp [Matrix.vecAppend_eq_ite, *]
+ by cases i; simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
/- warning: composition_series.append_succ_cast_add_aux -> CompositionSeries.append_succ_castAdd_aux is a dubious translation:
@@ -802,16 +800,12 @@ theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x}
constructor
· rintro ⟨i, rfl⟩
refine' Fin.lastCases _ (fun i => _) i
- · right
- simp
- · left
- simp
+ · right; simp
+ · left; simp
· intro h
rcases h with (⟨i, rfl⟩ | rfl)
- · use i.cast_succ
- simp
- · use Fin.last _
- simp
+ · use i.cast_succ; simp
+ · use Fin.last _; simp
#align composition_series.mem_snoc CompositionSeries.mem_snoc
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -270,10 +270,7 @@ def toList (s : CompositionSeries X) : List X :=
-/
/- warning: composition_series.ext_fun -> CompositionSeries.ext_fun is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ i) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) -> (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelIso.hasCoeToFun.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (RelHomClass.toFunLike.{0, 0, 0} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.ext_fun CompositionSeries.ext_funₓ'. -/
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
@@ -621,10 +618,7 @@ section FinLemmas
variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
/- warning: composition_series.append_cast_add_aux -> CompositionSeries.append_castAdd_aux is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m) i))
-but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd m n) i))) (a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m) i))
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_auxₓ'. -/
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
@@ -635,10 +629,7 @@ theorem append_castAdd_aux (i : Fin m) :
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
/- warning: composition_series.append_succ_cast_add_aux -> CompositionSeries.append_succ_castAdd_aux is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (OfNat.mk.{0} (Fin (Nat.succ n)) 0 (Zero.zero.{0} (Fin (Nat.succ n)) (Fin.hasZeroOfNeZero (Nat.succ n) (NeZero.succ n))))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
-but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (Fin.instOfNatFin (Nat.succ n) 0 (NeZero.succ n))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_auxₓ'. -/
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
@@ -658,10 +649,7 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
/- warning: composition_series.append_nat_add_aux -> CompositionSeries.append_natAdd_aux is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc n) i))
-but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd m n) i))) (b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc n) i))
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_auxₓ'. -/
theorem append_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
@@ -709,10 +697,7 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
-/
/- warning: composition_series.coe_append -> CompositionSeries.coe_append is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.coe_append CompositionSeries.coe_appendₓ'. -/
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
@@ -720,10 +705,7 @@ theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
#align composition_series.coe_append CompositionSeries.coe_append
/- warning: composition_series.append_cast_add -> CompositionSeries.append_castAdd is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add CompositionSeries.append_castAddₓ'. -/
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
@@ -744,10 +726,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAdd
/- warning: composition_series.append_nat_add -> CompositionSeries.append_natAdd is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add CompositionSeries.append_natAddₓ'. -/
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
@@ -800,10 +779,7 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
-/
/- warning: composition_series.snoc_cast_succ -> CompositionSeries.snoc_castSucc is a dubious translation:
-lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i)
-but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
+<too large>
Case conversion may be inaccurate. Consider using '#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccₓ'. -/
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -188,7 +188,7 @@ variable {X}
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.step CompositionSeries.stepₓ'. -/
theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.cast_succ) (s i.succ) :=
s.step'
@@ -198,7 +198,7 @@ theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.ca
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe length) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin length) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
Case conversion may be inaccurate. Consider using '#align composition_series.coe_fn_mk CompositionSeries.coeFn_mkₓ'. -/
@[simp]
theorem coeFn_mk (length : ℕ) (series step) :
@@ -210,7 +210,7 @@ theorem coeFn_mk (length : ℕ) (series step) :
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.lt_succ CompositionSeries.lt_succₓ'. -/
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) : s i.cast_succ < s i.succ :=
lt_of_isMaximal (s.step _)
@@ -273,7 +273,7 @@ def toList (s : CompositionSeries X) : List X :=
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ i) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) -> (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelIso.hasCoeToFun.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (RelHomClass.toFunLike.{0, 0, 0} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (RelHomClass.toFunLike.{0, 0, 0} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
Case conversion may be inaccurate. Consider using '#align composition_series.ext_fun CompositionSeries.ext_funₓ'. -/
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
@@ -624,7 +624,7 @@ variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ →
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m) i))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd m n) i))) (a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m) i))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd m n) i))) (a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_auxₓ'. -/
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
@@ -638,7 +638,7 @@ theorem append_castAdd_aux (i : Fin m) :
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (OfNat.mk.{0} (Fin (Nat.succ n)) 0 (Zero.zero.{0} (Fin (Nat.succ n)) (Fin.hasZeroOfNeZero (Nat.succ n) (NeZero.succ n))))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (Fin.instOfNatFin (Nat.succ n) 0 (NeZero.succ n))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (Fin.instOfNatFin (Nat.succ n) 0 (NeZero.succ n))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_auxₓ'. -/
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
@@ -661,7 +661,7 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc n) i))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd m n) i))) (b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc n) i))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd m n) i))) (b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc n) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_auxₓ'. -/
theorem append_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
@@ -676,7 +676,7 @@ theorem append_natAdd_aux (i : Fin n) :
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add_aux CompositionSeries.append_succ_natAdd_auxₓ'. -/
theorem append_succ_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
@@ -712,7 +712,7 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
Case conversion may be inaccurate. Consider using '#align composition_series.coe_append CompositionSeries.coe_appendₓ'. -/
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
@@ -723,7 +723,7 @@ theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add CompositionSeries.append_castAddₓ'. -/
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
@@ -735,7 +735,7 @@ theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bo
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAddₓ'. -/
@[simp]
theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot)
@@ -747,7 +747,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add CompositionSeries.append_natAddₓ'. -/
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
@@ -759,7 +759,7 @@ theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAddₓ'. -/
@[simp]
theorem append_succ_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
@@ -803,7 +803,7 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i)
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
Case conversion may be inaccurate. Consider using '#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccₓ'. -/
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -208,7 +208,7 @@ theorem coeFn_mk (length : ℕ) (series step) :
/- warning: composition_series.lt_succ -> CompositionSeries.lt_succ is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.lt_succ CompositionSeries.lt_succₓ'. -/
@@ -248,7 +248,12 @@ theorem mem_def {x : X} {s : CompositionSeries X} : x ∈ s ↔ x ∈ Set.range
#align composition_series.mem_def CompositionSeries.mem_def
-/
-#print CompositionSeries.total /-
+/- warning: composition_series.total -> CompositionSeries.total is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X} {y : X}, (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) y s) -> (Or (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x y) (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) y x))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X} {y : X}, (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) y s) -> (Or (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x y) (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) y x))
+Case conversion may be inaccurate. Consider using '#align composition_series.total CompositionSeries.totalₓ'. -/
theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s) : x ≤ y ∨ y ≤ x :=
by
rcases Set.mem_range.1 hx with ⟨i, rfl⟩
@@ -256,7 +261,6 @@ theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
rw [s.strict_mono.le_iff_le, s.strict_mono.le_iff_le]
exact le_total i j
#align composition_series.total CompositionSeries.total
--/
#print CompositionSeries.toList /-
/-- The ordered `list X` of elements of a `composition_series X`. -/
@@ -328,7 +332,12 @@ theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList
#align composition_series.chain'_to_list CompositionSeries.chain'_toList
-/
-#print CompositionSeries.toList_sorted /-
+/- warning: composition_series.to_list_sorted -> CompositionSeries.toList_sorted is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), List.Sorted.{u1} X (LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))))) (CompositionSeries.toList.{u1} X _inst_1 _inst_2 s)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), List.Sorted.{u1} X (fun (x._@.Mathlib.Order.JordanHolder._hyg.1315 : X) (x._@.Mathlib.Order.JordanHolder._hyg.1317 : X) => LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x._@.Mathlib.Order.JordanHolder._hyg.1315 x._@.Mathlib.Order.JordanHolder._hyg.1317) (CompositionSeries.toList.{u1} X _inst_1 _inst_2 s)
+Case conversion may be inaccurate. Consider using '#align composition_series.to_list_sorted CompositionSeries.toList_sortedₓ'. -/
theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
List.pairwise_iff_nthLe.2 fun i j hi hij =>
by
@@ -336,7 +345,6 @@ theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
rw [List.nthLe_ofFn', List.nthLe_ofFn']
exact s.strict_mono hij
#align composition_series.to_list_sorted CompositionSeries.toList_sorted
--/
#print CompositionSeries.toList_nodup /-
theorem toList_nodup (s : CompositionSeries X) : s.toList.Nodup :=
@@ -434,19 +442,27 @@ theorem top_mem (s : CompositionSeries X) : s.top ∈ s :=
#align composition_series.top_mem CompositionSeries.top_mem
-/
-#print CompositionSeries.le_top /-
+/- warning: composition_series.le_top -> CompositionSeries.le_top is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
+Case conversion may be inaccurate. Consider using '#align composition_series.le_top CompositionSeries.le_topₓ'. -/
@[simp]
theorem le_top {s : CompositionSeries X} (i : Fin (s.length + 1)) : s i ≤ s.top :=
s.StrictMono.Monotone (Fin.le_last _)
#align composition_series.le_top CompositionSeries.le_top
--/
-#print CompositionSeries.le_top_of_mem /-
+/- warning: composition_series.le_top_of_mem -> CompositionSeries.le_top_of_mem is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
+Case conversion may be inaccurate. Consider using '#align composition_series.le_top_of_mem CompositionSeries.le_top_of_memₓ'. -/
theorem le_top_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : x ≤ s.top :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ le_top _
#align composition_series.le_top_of_mem CompositionSeries.le_top_of_mem
--/
#print CompositionSeries.bot /-
/-- The smallest element of a `composition_series` -/
@@ -461,19 +477,27 @@ theorem bot_mem (s : CompositionSeries X) : s.bot ∈ s :=
#align composition_series.bot_mem CompositionSeries.bot_mem
-/
-#print CompositionSeries.bot_le /-
+/- warning: composition_series.bot_le -> CompositionSeries.bot_le is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
+Case conversion may be inaccurate. Consider using '#align composition_series.bot_le CompositionSeries.bot_leₓ'. -/
@[simp]
theorem bot_le {s : CompositionSeries X} (i : Fin (s.length + 1)) : s.bot ≤ s i :=
s.StrictMono.Monotone (Fin.zero_le _)
#align composition_series.bot_le CompositionSeries.bot_le
--/
-#print CompositionSeries.bot_le_of_mem /-
+/- warning: composition_series.bot_le_of_mem -> CompositionSeries.bot_le_of_mem is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x s) -> (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x)
+Case conversion may be inaccurate. Consider using '#align composition_series.bot_le_of_mem CompositionSeries.bot_le_of_memₓ'. -/
theorem bot_le_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : s.bot ≤ x :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ bot_le _
#align composition_series.bot_le_of_mem CompositionSeries.bot_le_of_mem
--/
#print CompositionSeries.length_pos_of_mem_ne /-
theorem length_pos_of_mem_ne {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
@@ -521,11 +545,15 @@ theorem top_eraseTop (s : CompositionSeries X) :
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
-/
-#print CompositionSeries.eraseTop_top_le /-
+/- warning: composition_series.erase_top_top_le -> CompositionSeries.eraseTop_top_le is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.top.{u1} X _inst_1 _inst_2 (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.top.{u1} X _inst_1 _inst_2 (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)
+Case conversion may be inaccurate. Consider using '#align composition_series.erase_top_top_le CompositionSeries.eraseTop_top_leₓ'. -/
theorem eraseTop_top_le (s : CompositionSeries X) : s.eraseTop.top ≤ s.top := by
simp [erase_top, top, s.strict_mono.le_iff_le, Fin.le_iff_val_le_val, tsub_le_self]
#align composition_series.erase_top_top_le CompositionSeries.eraseTop_top_le
--/
#print CompositionSeries.bot_eraseTop /-
@[simp]
@@ -565,12 +593,16 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
#align composition_series.mem_erase_top CompositionSeries.mem_eraseTop
-/
-#print CompositionSeries.lt_top_of_mem_eraseTop /-
+/- warning: composition_series.lt_top_of_mem_erase_top -> CompositionSeries.lt_top_of_mem_eraseTop is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Membership.Mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) -> (LT.lt.{u1} X (Preorder.toHasLt.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s : CompositionSeries.{u1} X _inst_1 _inst_2} {x : X}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Membership.mem.{u1, u1} X (CompositionSeries.{u1} X _inst_1 _inst_2) (CompositionSeries.membership.{u1} X _inst_1 _inst_2) x (CompositionSeries.eraseTop.{u1} X _inst_1 _inst_2 s)) -> (LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s))
+Case conversion may be inaccurate. Consider using '#align composition_series.lt_top_of_mem_erase_top CompositionSeries.lt_top_of_mem_eraseTopₓ'. -/
theorem lt_top_of_mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length)
(hx : x ∈ s.eraseTop) : x < s.top :=
lt_of_le_of_ne (le_top_of_mem ((mem_eraseTop h).1 hx).2) ((mem_eraseTop h).1 hx).1
#align composition_series.lt_top_of_mem_erase_top CompositionSeries.lt_top_of_mem_eraseTop
--/
#print CompositionSeries.isMaximal_eraseTop_top /-
theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
@@ -979,7 +1011,12 @@ theorem eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂ : Compositio
#align composition_series.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero CompositionSeries.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero
-/
-#print CompositionSeries.exists_top_eq_snoc_equivalant /-
+/- warning: composition_series.exists_top_eq_snoc_equivalant -> CompositionSeries.exists_top_eq_snoc_equivalant is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hm : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)), (LE.le.{u1} X (Preorder.toHasLe.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x) -> (Exists.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (t : CompositionSeries.{u1} X _inst_1 _inst_2) => And (Eq.{succ u1} X (CompositionSeries.bot.{u1} X _inst_1 _inst_2 t) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s)) (And (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 t) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Exists.{0} (Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) (fun (htx : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) => CompositionSeries.Equivalent.{u1} X _inst_1 _inst_2 s (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 t (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) (Eq.subst.{succ u1} X (fun (_x : X) => JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 _x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)) x (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) (Eq.symm.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x htx) hm)))))))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hm : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)), (LE.le.{u1} X (Preorder.toLE.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s) x) -> (Exists.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (t : CompositionSeries.{u1} X _inst_1 _inst_2) => And (Eq.{succ u1} X (CompositionSeries.bot.{u1} X _inst_1 _inst_2 t) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s)) (And (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 t) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Exists.{0} (Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) (fun (htx : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x) => CompositionSeries.Equivalent.{u1} X _inst_1 _inst_2 s (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 t (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) (Eq.rec.{0, succ u1} X x (fun (x._@.Mathlib.Order.JordanHolder._hyg.5781 : X) (h._@.Mathlib.Order.JordanHolder._hyg.5782 : Eq.{succ u1} X x x._@.Mathlib.Order.JordanHolder._hyg.5781) => JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x._@.Mathlib.Order.JordanHolder._hyg.5781 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s)) hm (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) (Eq.symm.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 t) x htx))))))))
+Case conversion may be inaccurate. Consider using '#align composition_series.exists_top_eq_snoc_equivalant CompositionSeries.exists_top_eq_snoc_equivalantₓ'. -/
/-- Given a `composition_series`, `s`, and an element `x`
such that `x` is maximal inside `s.top` there is a series, `t`,
such that `t.top = x`, `t.bot = s.bot`
@@ -1027,7 +1064,6 @@ theorem exists_top_eq_snoc_equivalant (s : CompositionSeries X) (x : X) (hm : Is
second_iso_of_eq (is_maximal_erase_top_top h0s)
(sup_eq_of_is_maximal (is_maximal_erase_top_top h0s) hm hetx) (by rw [inf_comm, htt])
#align composition_series.exists_top_eq_snoc_equivalant CompositionSeries.exists_top_eq_snoc_equivalant
--/
#print CompositionSeries.jordan_holder /-
/-- The **Jordan-Hölder** theorem, stated for any `jordan_holder_lattice`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/d4437c68c8d350fc9d4e95e1e174409db35e30d7
@@ -744,9 +744,9 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
series := Fin.snoc s x
step' i := by
refine' Fin.lastCases _ _ i
- · rwa [Fin.snoc_cast_succ, Fin.succ_last, Fin.snoc_last, ← top]
+ · rwa [Fin.snoc_castSucc, Fin.succ_last, Fin.snoc_last, ← top]
· intro i
- rw [Fin.snoc_cast_succ, ← Fin.castSucc_fin_succ, Fin.snoc_cast_succ]
+ rw [Fin.snoc_castSucc, ← Fin.castSucc_fin_succ, Fin.snoc_castSucc]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
-/
@@ -776,7 +776,7 @@ Case conversion may be inaccurate. Consider using '#align composition_series.sno
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat i.cast_succ = s i :=
- Fin.snoc_cast_succ _ _ _
+ Fin.snoc_castSucc _ _ _
#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
#print CompositionSeries.bot_snoc /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/730c6d4cab72b9d84fcfb9e95e8796e9cd8f40ba
@@ -188,7 +188,7 @@ variable {X}
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.step CompositionSeries.stepₓ'. -/
theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.cast_succ) (s i.succ) :=
s.step'
@@ -198,7 +198,7 @@ theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.ca
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe length) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin length) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc length)) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin length) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
Case conversion may be inaccurate. Consider using '#align composition_series.coe_fn_mk CompositionSeries.coeFn_mkₓ'. -/
@[simp]
theorem coeFn_mk (length : ℕ) (series step) :
@@ -210,7 +210,7 @@ theorem coeFn_mk (length : ℕ) (series step) :
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.lt_succ CompositionSeries.lt_succₓ'. -/
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) : s i.cast_succ < s i.succ :=
lt_of_isMaximal (s.step _)
@@ -269,7 +269,7 @@ def toList (s : CompositionSeries X) : List X :=
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ i) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) -> (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelIso.hasCoeToFun.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)))) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (RelHomClass.toFunLike.{0, 0, 0} (RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
Case conversion may be inaccurate. Consider using '#align composition_series.ext_fun CompositionSeries.ext_funₓ'. -/
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
@@ -552,7 +552,7 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
x ∈ s.eraseTop ↔ x ≠ s.top ∧ x ∈ s :=
by
simp only [mem_def]
- dsimp only [erase_top, [anonymous]]
+ dsimp only [erase_top, coe_fn_mk]
constructor
· rintro ⟨i, rfl⟩
have hi : (i : ℕ) < s.length :=
@@ -592,7 +592,7 @@ variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ →
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m) i))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd m n)) i))) (a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)) i))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd m n) i))) (a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_auxₓ'. -/
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
@@ -606,7 +606,7 @@ theorem append_castAdd_aux (i : Fin m) :
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (OfNat.mk.{0} (Fin (Nat.succ n)) 0 (Zero.zero.{0} (Fin (Nat.succ n)) (Fin.hasZeroOfNeZero (Nat.succ n) (NeZero.succ n))))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (Fin.instOfNatFin (Nat.succ n) 0 (NeZero.succ n))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd m n)) i))) (a (Fin.succ m i)))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (Fin.instOfNatFin (Nat.succ n) 0 (NeZero.succ n))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_auxₓ'. -/
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
@@ -629,7 +629,7 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc n) i))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd m n)) i))) (b (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc n)) i))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd m n) i))) (b (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc n) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_auxₓ'. -/
theorem append_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
@@ -644,7 +644,7 @@ theorem append_natAdd_aux (i : Fin n) :
lean 3 declaration is
forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
but is expected to have type
- forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd m n)) i))) (b (Fin.succ n i))
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin m) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin n) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add_aux CompositionSeries.append_succ_natAdd_auxₓ'. -/
theorem append_succ_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
@@ -680,7 +680,7 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
Case conversion may be inaccurate. Consider using '#align composition_series.coe_append CompositionSeries.coe_appendₓ'. -/
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
@@ -691,7 +691,7 @@ theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add CompositionSeries.append_castAddₓ'. -/
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
@@ -703,7 +703,7 @@ theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bo
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAddₓ'. -/
@[simp]
theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot)
@@ -715,7 +715,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add CompositionSeries.append_natAddₓ'. -/
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
@@ -727,7 +727,7 @@ theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAddₓ'. -/
@[simp]
theorem append_succ_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
@@ -771,7 +771,7 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
lean 3 declaration is
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i)
but is expected to have type
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (RelHomClass.toFunLike.{0, 0, 0} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
Case conversion may be inaccurate. Consider using '#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccₓ'. -/
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
mathlib commit https://github.com/leanprover-community/mathlib/commit/2196ab363eb097c008d4497125e0dde23fb36db2
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
! This file was ported from Lean 3 source module order.jordan_holder
-! leanprover-community/mathlib commit 91288e351d51b3f0748f0a38faa7613fb0ae2ada
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.Data.Fintype.Card
/-!
# Jordan-Hölder Theorem
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file proves the Jordan Hölder theorem for a `jordan_holder_lattice`, a class also defined in
this file. Examples of `jordan_holder_lattice` include `subgroup G` if `G` is a group, and
`submodule R M` if `M` is an `R`-module. Using this approach the theorem need not be proved
mathlib commit https://github.com/leanprover-community/mathlib/commit/21e3562c5e12d846c7def5eff8cdbc520d7d4936
@@ -183,7 +183,7 @@ variable {X}
/- warning: composition_series.step -> CompositionSeries.step is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.step CompositionSeries.stepₓ'. -/
@@ -193,7 +193,7 @@ theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.ca
/- warning: composition_series.coe_fn_mk -> CompositionSeries.coeFn_mk is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe length) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin length) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe length) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin length) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc length)) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
Case conversion may be inaccurate. Consider using '#align composition_series.coe_fn_mk CompositionSeries.coeFn_mkₓ'. -/
@@ -205,7 +205,7 @@ theorem coeFn_mk (length : ℕ) (series step) :
/- warning: composition_series.lt_succ -> CompositionSeries.lt_succ is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
Case conversion may be inaccurate. Consider using '#align composition_series.lt_succ CompositionSeries.lt_succₓ'. -/
@@ -215,7 +215,7 @@ theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) : s i.cast_succ < s
/- warning: composition_series.strict_mono -> CompositionSeries.strictMono is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s)
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s)
Case conversion may be inaccurate. Consider using '#align composition_series.strict_mono CompositionSeries.strictMonoₓ'. -/
@@ -264,7 +264,7 @@ def toList (s : CompositionSeries X) : List X :=
/- warning: composition_series.ext_fun -> CompositionSeries.ext_fun is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁ i) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) -> (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelIso.hasCoeToFun.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ i) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) -> (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelIso.hasCoeToFun.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)))) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
Case conversion may be inaccurate. Consider using '#align composition_series.ext_fun CompositionSeries.ext_funₓ'. -/
@@ -675,7 +675,7 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
/- warning: composition_series.coe_append -> CompositionSeries.coe_append is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
Case conversion may be inaccurate. Consider using '#align composition_series.coe_append CompositionSeries.coe_appendₓ'. -/
@@ -686,7 +686,7 @@ theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
/- warning: composition_series.append_cast_add -> CompositionSeries.append_castAdd is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add CompositionSeries.append_castAddₓ'. -/
@@ -698,7 +698,7 @@ theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bo
/- warning: composition_series.append_succ_cast_add -> CompositionSeries.append_succ_castAdd is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAddₓ'. -/
@@ -710,7 +710,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
/- warning: composition_series.append_nat_add -> CompositionSeries.append_natAdd is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add CompositionSeries.append_natAddₓ'. -/
@@ -722,7 +722,7 @@ theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot
/- warning: composition_series.append_succ_nat_add -> CompositionSeries.append_succ_natAdd is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAddₓ'. -/
@@ -766,7 +766,7 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
/- warning: composition_series.snoc_cast_succ -> CompositionSeries.snoc_castSucc is a dubious translation:
lean 3 declaration is
- forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s i)
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.coeFun.{u1} X _inst_1 _inst_2) s i)
but is expected to have type
forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
Case conversion may be inaccurate. Consider using '#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -73,6 +73,7 @@ universe u
open Set
+#print JordanHolderLattice /-
/-- A `jordan_holder_lattice` is the class for which the Jordan Hölder theorem is proved. A
Jordan Hölder lattice is a lattice equipped with a notion of maximality, `is_maximal`, and a notion
of isomorphism of pairs `iso`. In the example of subgroups of a group, `is_maximal H K` means that
@@ -92,11 +93,18 @@ class JordanHolderLattice (X : Type u) [Lattice X] where
iso_trans : ∀ {x y z}, iso x y → iso y z → iso x z
second_iso : ∀ {x y}, is_maximal x (x ⊔ y) → iso (x, x ⊔ y) (x ⊓ y, y)
#align jordan_holder_lattice JordanHolderLattice
+-/
namespace JordanHolderLattice
variable {X : Type u} [Lattice X] [JordanHolderLattice X]
+/- warning: jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup -> JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (Sup.sup.{u1} X (SemilatticeSup.toHasSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y (Sup.sup.{u1} X (SemilatticeSup.toHasSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (Inf.inf.{u1} X (SemilatticeInf.toHasInf.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)) x y) y)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x (Sup.sup.{u1} X (SemilatticeSup.toSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y (Sup.sup.{u1} X (SemilatticeSup.toSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y)) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (Inf.inf.{u1} X (Lattice.toInf.{u1} X _inst_1) x y) y)
+Case conversion may be inaccurate. Consider using '#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_supₓ'. -/
theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔ y))
(hyz : IsMaximal y (x ⊔ y)) : IsMaximal (x ⊓ y) y :=
by
@@ -105,6 +113,12 @@ theorem isMaximal_inf_right_of_isMaximal_sup {x y : X} (hxz : IsMaximal x (x ⊔
exact is_maximal_inf_left_of_is_maximal_sup hyz hxz
#align jordan_holder_lattice.is_maximal_inf_right_of_is_maximal_sup JordanHolderLattice.isMaximal_inf_right_of_isMaximal_sup
+/- warning: jordan_holder_lattice.is_maximal_of_eq_inf -> JordanHolderLattice.isMaximal_of_eq_inf is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (x : X) (b : X) {a : X} {y : X}, (Eq.{succ u1} X (Inf.inf.{u1} X (SemilatticeInf.toHasInf.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)) x y) a) -> (Ne.{succ u1} X x y) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 a y)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (x : X) (b : X) {a : X} {y : X}, (Eq.{succ u1} X (Inf.inf.{u1} X (Lattice.toInf.{u1} X _inst_1) x y) a) -> (Ne.{succ u1} X x y) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 y b) -> (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 a y)
+Case conversion may be inaccurate. Consider using '#align jordan_holder_lattice.is_maximal_of_eq_inf JordanHolderLattice.isMaximal_of_eq_infₓ'. -/
theorem isMaximal_of_eq_inf (x b : X) {a y : X} (ha : x ⊓ y = a) (hxy : x ≠ y) (hxb : IsMaximal x b)
(hyb : IsMaximal y b) : IsMaximal a y :=
by
@@ -113,14 +127,22 @@ theorem isMaximal_of_eq_inf (x b : X) {a y : X} (ha : x ⊓ y = a) (hxy : x ≠
exact is_maximal_inf_right_of_is_maximal_sup hxb hyb
#align jordan_holder_lattice.is_maximal_of_eq_inf JordanHolderLattice.isMaximal_of_eq_inf
+/- warning: jordan_holder_lattice.second_iso_of_eq -> JordanHolderLattice.second_iso_of_eq is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X} {a : X} {b : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x a) -> (Eq.{succ u1} X (Sup.sup.{u1} X (SemilatticeSup.toHasSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y) a) -> (Eq.{succ u1} X (Inf.inf.{u1} X (SemilatticeInf.toHasInf.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)) x y) b) -> (JordanHolderLattice.Iso.{u1} X _inst_1 _inst_2 (Prod.mk.{u1, u1} X X x a) (Prod.mk.{u1, u1} X X b y))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {x : X} {y : X} {a : X} {b : X}, (JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 x a) -> (Eq.{succ u1} X (Sup.sup.{u1} X (SemilatticeSup.toSup.{u1} X (Lattice.toSemilatticeSup.{u1} X _inst_1)) x y) a) -> (Eq.{succ u1} X (Inf.inf.{u1} X (Lattice.toInf.{u1} X _inst_1) x y) b) -> (JordanHolderLattice.Iso.{u1} X _inst_1 _inst_2 (Prod.mk.{u1, u1} X X x a) (Prod.mk.{u1, u1} X X b y))
+Case conversion may be inaccurate. Consider using '#align jordan_holder_lattice.second_iso_of_eq JordanHolderLattice.second_iso_of_eqₓ'. -/
theorem second_iso_of_eq {x y a b : X} (hm : IsMaximal x a) (ha : x ⊔ y = a) (hb : x ⊓ y = b) :
Iso (x, a) (b, y) := by substs a b <;> exact second_iso hm
#align jordan_holder_lattice.second_iso_of_eq JordanHolderLattice.second_iso_of_eq
+#print JordanHolderLattice.IsMaximal.iso_refl /-
theorem IsMaximal.iso_refl {x y : X} (h : IsMaximal x y) : Iso (x, y) (x, y) :=
second_iso_of_eq h (sup_eq_right.2 (le_of_lt (lt_of_isMaximal h)))
(inf_eq_left.2 (le_of_lt (lt_of_isMaximal h)))
#align jordan_holder_lattice.is_maximal.iso_refl JordanHolderLattice.IsMaximal.iso_refl
+-/
end JordanHolderLattice
@@ -130,6 +152,7 @@ attribute [symm] iso_symm
attribute [trans] iso_trans
+#print CompositionSeries /-
/-- A `composition_series X` is a finite nonempty series of elements of a
`jordan_holder_lattice` such that each element is maximal inside the next. The length of a
`composition_series X` is one less than the number of elements in the series.
@@ -142,6 +165,7 @@ structure CompositionSeries (X : Type u) [Lattice X] [JordanHolderLattice X] : T
series : Fin (length + 1) → X
step' : ∀ i : Fin length, IsMaximal (series i.cast_succ) (series i.succ)
#align composition_series CompositionSeries
+-/
namespace CompositionSeries
@@ -157,40 +181,71 @@ instance [Inhabited X] : Inhabited (CompositionSeries X) :=
variable {X}
+/- warning: composition_series.step -> CompositionSeries.step is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.step CompositionSeries.stepₓ'. -/
theorem step (s : CompositionSeries X) : ∀ i : Fin s.length, IsMaximal (s i.cast_succ) (s i.succ) :=
s.step'
#align composition_series.step CompositionSeries.step
+/- warning: composition_series.coe_fn_mk -> CompositionSeries.coeFn_mk is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe length) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin length) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin length) (Fin.hasLe length)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) length (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc length) i)) (series (Fin.succ length i))), Eq.{succ u1} ((fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (length : Nat) (series : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (step : forall (i : Fin length), JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (series (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (fun (_x : Fin length) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin length) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin length) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin length) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin length) => LE.le.{0} (Fin length) (instLEFin length) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) length (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc length)) i)) (series (Fin.succ length i))), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.mk.{u1} X _inst_1 _inst_2 length series step)) series
+Case conversion may be inaccurate. Consider using '#align composition_series.coe_fn_mk CompositionSeries.coeFn_mkₓ'. -/
@[simp]
theorem coeFn_mk (length : ℕ) (series step) :
(@CompositionSeries.mk X _ _ length series step : Fin length.succ → X) = series :=
rfl
#align composition_series.coe_fn_mk CompositionSeries.coeFn_mk
+/- warning: composition_series.lt_succ -> CompositionSeries.lt_succ is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)), LT.lt.{u1} X (Preorder.toLT.{u1} X (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1)))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.lt_succ CompositionSeries.lt_succₓ'. -/
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) : s i.cast_succ < s i.succ :=
lt_of_isMaximal (s.step _)
#align composition_series.lt_succ CompositionSeries.lt_succ
+/- warning: composition_series.strict_mono -> CompositionSeries.strictMono is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2), StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (PartialOrder.toPreorder.{u1} X (SemilatticeInf.toPartialOrder.{u1} X (Lattice.toSemilatticeInf.{u1} X _inst_1))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s)
+Case conversion may be inaccurate. Consider using '#align composition_series.strict_mono CompositionSeries.strictMonoₓ'. -/
protected theorem strictMono (s : CompositionSeries X) : StrictMono s :=
Fin.strictMono_iff_lt_succ.2 s.lt_succ
#align composition_series.strict_mono CompositionSeries.strictMono
+#print CompositionSeries.injective /-
protected theorem injective (s : CompositionSeries X) : Function.Injective s :=
s.StrictMono.Injective
#align composition_series.injective CompositionSeries.injective
+-/
+#print CompositionSeries.inj /-
@[simp]
protected theorem inj (s : CompositionSeries X) {i j : Fin s.length.succ} : s i = s j ↔ i = j :=
s.Injective.eq_iff
#align composition_series.inj CompositionSeries.inj
+-/
instance : Membership X (CompositionSeries X) :=
⟨fun x s => x ∈ Set.range s⟩
+#print CompositionSeries.mem_def /-
theorem mem_def {x : X} {s : CompositionSeries X} : x ∈ s ↔ x ∈ Set.range s :=
Iff.rfl
#align composition_series.mem_def CompositionSeries.mem_def
+-/
+#print CompositionSeries.total /-
theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s) : x ≤ y ∨ y ≤ x :=
by
rcases Set.mem_range.1 hx with ⟨i, rfl⟩
@@ -198,12 +253,21 @@ theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
rw [s.strict_mono.le_iff_le, s.strict_mono.le_iff_le]
exact le_total i j
#align composition_series.total CompositionSeries.total
+-/
+#print CompositionSeries.toList /-
/-- The ordered `list X` of elements of a `composition_series X`. -/
def toList (s : CompositionSeries X) : List X :=
List.ofFn s
#align composition_series.to_list CompositionSeries.toList
+-/
+/- warning: composition_series.ext_fun -> CompositionSeries.ext_fun is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁ i) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelIso.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) -> (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelIso.hasCoeToFun.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (hl : Eq.{1} Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), (forall (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ i) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (fun (_x : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{0, 0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (Fin.cast (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (congr_arg.{1, 1} Nat Nat (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) Nat.succ hl)))) i))) -> (Eq.{succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) s₁ s₂)
+Case conversion may be inaccurate. Consider using '#align composition_series.ext_fun CompositionSeries.ext_funₓ'. -/
/-- Two `composition_series` are equal if they are the same length and
have the same `i`th element for every `i` -/
theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.length)
@@ -215,15 +279,20 @@ theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.lengt
simpa [Function.funext_iff] using h
#align composition_series.ext_fun CompositionSeries.ext_fun
+#print CompositionSeries.length_toList /-
@[simp]
theorem length_toList (s : CompositionSeries X) : s.toList.length = s.length + 1 := by
rw [to_list, List.length_ofFn]
#align composition_series.length_to_list CompositionSeries.length_toList
+-/
+#print CompositionSeries.toList_ne_nil /-
theorem toList_ne_nil (s : CompositionSeries X) : s.toList ≠ [] := by
rw [← List.length_pos_iff_ne_nil, length_to_list] <;> exact Nat.succ_pos _
#align composition_series.to_list_ne_nil CompositionSeries.toList_ne_nil
+-/
+#print CompositionSeries.toList_injective /-
theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _) :=
fun s₁ s₂ (h : List.ofFn s₁ = List.ofFn s₂) =>
by
@@ -243,7 +312,9 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
simp only [Fin.cast_refl] at h₂
exact funext h₂
#align composition_series.to_list_injective CompositionSeries.toList_injective
+-/
+#print CompositionSeries.chain'_toList /-
theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList :=
List.chain'_iff_nthLe.2
(by
@@ -252,7 +323,9 @@ theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList
rw [length_to_list] at hi
exact s.step ⟨i, hi⟩)
#align composition_series.chain'_to_list CompositionSeries.chain'_toList
+-/
+#print CompositionSeries.toList_sorted /-
theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
List.pairwise_iff_nthLe.2 fun i j hi hij =>
by
@@ -260,16 +333,22 @@ theorem toList_sorted (s : CompositionSeries X) : s.toList.Sorted (· < ·) :=
rw [List.nthLe_ofFn', List.nthLe_ofFn']
exact s.strict_mono hij
#align composition_series.to_list_sorted CompositionSeries.toList_sorted
+-/
+#print CompositionSeries.toList_nodup /-
theorem toList_nodup (s : CompositionSeries X) : s.toList.Nodup :=
s.toList_sorted.Nodup
#align composition_series.to_list_nodup CompositionSeries.toList_nodup
+-/
+#print CompositionSeries.mem_toList /-
@[simp]
theorem mem_toList {s : CompositionSeries X} {x : X} : x ∈ s.toList ↔ x ∈ s := by
rw [to_list, List.mem_ofFn, mem_def]
#align composition_series.mem_to_list CompositionSeries.mem_toList
+-/
+#print CompositionSeries.ofList /-
/-- Make a `composition_series X` from the ordered list of its elements. -/
def ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l) : CompositionSeries X
where
@@ -281,12 +360,16 @@ def ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l) : Composi
exact i.2)
step' := fun ⟨i, hi⟩ => List.chain'_iff_nthLe.1 hc i hi
#align composition_series.of_list CompositionSeries.ofList
+-/
+#print CompositionSeries.length_ofList /-
theorem length_ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l) :
(ofList l hl hc).length = l.length - 1 :=
rfl
#align composition_series.length_of_list CompositionSeries.length_ofList
+-/
+#print CompositionSeries.ofList_toList /-
theorem ofList_toList (s : CompositionSeries X) :
ofList s.toList s.toList_ne_nil s.chain'_toList = s :=
by
@@ -296,13 +379,17 @@ theorem ofList_toList (s : CompositionSeries X) :
dsimp [of_list, to_list]
rw [List.nthLe_ofFn']
#align composition_series.of_list_to_list CompositionSeries.ofList_toList
+-/
+#print CompositionSeries.ofList_toList' /-
@[simp]
-theorem ofList_to_list' (s : CompositionSeries X) :
+theorem ofList_toList' (s : CompositionSeries X) :
ofList s.toList s.toList_ne_nil s.chain'_toList = s :=
ofList_toList s
-#align composition_series.of_list_to_list' CompositionSeries.ofList_to_list'
+#align composition_series.of_list_to_list' CompositionSeries.ofList_toList'
+-/
+#print CompositionSeries.toList_ofList /-
@[simp]
theorem toList_ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l) :
toList (ofList l hl hc) = l := by
@@ -315,7 +402,9 @@ theorem toList_ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l
rw [List.nthLe_ofFn']
rfl
#align composition_series.to_list_of_list CompositionSeries.toList_ofList
+-/
+#print CompositionSeries.ext /-
/-- Two `composition_series` are equal if they have the same elements. See also `ext_fun`. -/
@[ext]
theorem ext {s₁ s₂ : CompositionSeries X} (h : ∀ x, x ∈ s₁ ↔ x ∈ s₂) : s₁ = s₂ :=
@@ -327,45 +416,63 @@ theorem ext {s₁ s₂ : CompositionSeries X} (h : ∀ x, x ∈ s₁ ↔ x ∈ s
(Finset.ext <| by simp [*]))
s₁.toList_sorted s₂.toList_sorted
#align composition_series.ext CompositionSeries.ext
+-/
+#print CompositionSeries.top /-
/-- The largest element of a `composition_series` -/
def top (s : CompositionSeries X) : X :=
s (Fin.last _)
#align composition_series.top CompositionSeries.top
+-/
+#print CompositionSeries.top_mem /-
theorem top_mem (s : CompositionSeries X) : s.top ∈ s :=
mem_def.2 (Set.mem_range.2 ⟨Fin.last _, rfl⟩)
#align composition_series.top_mem CompositionSeries.top_mem
+-/
+#print CompositionSeries.le_top /-
@[simp]
theorem le_top {s : CompositionSeries X} (i : Fin (s.length + 1)) : s i ≤ s.top :=
s.StrictMono.Monotone (Fin.le_last _)
#align composition_series.le_top CompositionSeries.le_top
+-/
+#print CompositionSeries.le_top_of_mem /-
theorem le_top_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : x ≤ s.top :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ le_top _
#align composition_series.le_top_of_mem CompositionSeries.le_top_of_mem
+-/
+#print CompositionSeries.bot /-
/-- The smallest element of a `composition_series` -/
def bot (s : CompositionSeries X) : X :=
s 0
#align composition_series.bot CompositionSeries.bot
+-/
+#print CompositionSeries.bot_mem /-
theorem bot_mem (s : CompositionSeries X) : s.bot ∈ s :=
mem_def.2 (Set.mem_range.2 ⟨0, rfl⟩)
#align composition_series.bot_mem CompositionSeries.bot_mem
+-/
+#print CompositionSeries.bot_le /-
@[simp]
theorem bot_le {s : CompositionSeries X} (i : Fin (s.length + 1)) : s.bot ≤ s i :=
s.StrictMono.Monotone (Fin.zero_le _)
#align composition_series.bot_le CompositionSeries.bot_le
+-/
+#print CompositionSeries.bot_le_of_mem /-
theorem bot_le_of_mem {s : CompositionSeries X} {x : X} (hx : x ∈ s) : s.bot ≤ x :=
let ⟨i, hi⟩ := Set.mem_range.2 hx
hi ▸ bot_le _
#align composition_series.bot_le_of_mem CompositionSeries.bot_le_of_mem
+-/
+#print CompositionSeries.length_pos_of_mem_ne /-
theorem length_pos_of_mem_ne {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
(hxy : x ≠ y) : 0 < s.length :=
let ⟨i, hi⟩ := hx
@@ -375,12 +482,16 @@ theorem length_pos_of_mem_ne {s : CompositionSeries X} {x y : X} (hx : x ∈ s)
(fun hij => lt_of_le_of_lt (zero_le i) (lt_of_lt_of_le hij (Nat.le_of_lt_succ j.2))) fun hji =>
lt_of_le_of_lt (zero_le j) (lt_of_lt_of_le hji (Nat.le_of_lt_succ i.2))
#align composition_series.length_pos_of_mem_ne CompositionSeries.length_pos_of_mem_ne
+-/
+#print CompositionSeries.forall_mem_eq_of_length_eq_zero /-
theorem forall_mem_eq_of_length_eq_zero {s : CompositionSeries X} (hs : s.length = 0) {x y}
(hx : x ∈ s) (hy : y ∈ s) : x = y :=
by_contradiction fun hxy => pos_iff_ne_zero.1 (length_pos_of_mem_ne hx hy hxy) hs
#align composition_series.forall_mem_eq_of_length_eq_zero CompositionSeries.forall_mem_eq_of_length_eq_zero
+-/
+#print CompositionSeries.eraseTop /-
/-- Remove the largest element from a `composition_series`. If the series `s`
has length zero, then `s.erase_top = s` -/
@[simps]
@@ -393,7 +504,9 @@ def eraseTop (s : CompositionSeries X) : CompositionSeries X
cases i
exact this
#align composition_series.erase_top CompositionSeries.eraseTop
+-/
+#print CompositionSeries.top_eraseTop /-
theorem top_eraseTop (s : CompositionSeries X) :
s.eraseTop.top = s ⟨s.length - 1, lt_of_le_of_lt tsub_le_self (Nat.lt_succ_self _)⟩ :=
show s _ = s _ from
@@ -403,16 +516,22 @@ theorem top_eraseTop (s : CompositionSeries X) :
simp only [erase_top_length, Fin.val_last, Fin.coe_castSucc, Fin.coe_ofNat_eq_mod,
Fin.val_mk, coe_coe])
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
+-/
+#print CompositionSeries.eraseTop_top_le /-
theorem eraseTop_top_le (s : CompositionSeries X) : s.eraseTop.top ≤ s.top := by
simp [erase_top, top, s.strict_mono.le_iff_le, Fin.le_iff_val_le_val, tsub_le_self]
#align composition_series.erase_top_top_le CompositionSeries.eraseTop_top_le
+-/
+#print CompositionSeries.bot_eraseTop /-
@[simp]
theorem bot_eraseTop (s : CompositionSeries X) : s.eraseTop.bot = s.bot :=
rfl
#align composition_series.bot_erase_top CompositionSeries.bot_eraseTop
+-/
+#print CompositionSeries.mem_eraseTop_of_ne_of_mem /-
theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠ s.top) (hxs : x ∈ s) :
x ∈ s.eraseTop := by
rcases hxs with ⟨i, rfl⟩
@@ -423,7 +542,9 @@ theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠
refine' ⟨i.cast_succ, _⟩
simp [Fin.ext_iff, Nat.mod_eq_of_lt hi]
#align composition_series.mem_erase_top_of_ne_of_mem CompositionSeries.mem_eraseTop_of_ne_of_mem
+-/
+#print CompositionSeries.mem_eraseTop /-
theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
x ∈ s.eraseTop ↔ x ≠ s.top ∧ x ∈ s :=
by
@@ -439,12 +560,16 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
· intro h
exact mem_erase_top_of_ne_of_mem h.1 h.2
#align composition_series.mem_erase_top CompositionSeries.mem_eraseTop
+-/
+#print CompositionSeries.lt_top_of_mem_eraseTop /-
theorem lt_top_of_mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length)
(hx : x ∈ s.eraseTop) : x < s.top :=
lt_of_le_of_ne (le_top_of_mem ((mem_eraseTop h).1 hx).2) ((mem_eraseTop h).1 hx).1
#align composition_series.lt_top_of_mem_erase_top CompositionSeries.lt_top_of_mem_eraseTop
+-/
+#print CompositionSeries.isMaximal_eraseTop_top /-
theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
IsMaximal s.eraseTop.top s.top :=
by
@@ -453,12 +578,19 @@ theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
rw [top_erase_top, top]
convert s.step ⟨s.length - 1, Nat.sub_lt h zero_lt_one⟩ <;> ext <;> simp [this]
#align composition_series.is_maximal_erase_top_top CompositionSeries.isMaximal_eraseTop_top
+-/
section FinLemmas
-- TODO: move these to `vec_notation` and rename them to better describe their statement
variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
+/- warning: composition_series.append_cast_add_aux -> CompositionSeries.append_castAdd_aux is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m) i))
+but is expected to have type
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd m n)) i))) (a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_auxₓ'. -/
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).cast_succ =
a i.cast_succ :=
@@ -467,6 +599,12 @@ theorem append_castAdd_aux (i : Fin m) :
simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
+/- warning: composition_series.append_succ_cast_add_aux -> CompositionSeries.append_succ_castAdd_aux is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (OfNat.mk.{0} (Fin (Nat.succ n)) 0 (Zero.zero.{0} (Fin (Nat.succ n)) (Fin.hasZeroOfNeZero (Nat.succ n) (NeZero.succ n))))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.castAdd m n) i))) (a (Fin.succ m i)))
+but is expected to have type
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin m), (Eq.{succ u1} α (a (Fin.last m)) (b (OfNat.ofNat.{0} (Fin (Nat.succ n)) 0 (Fin.instOfNatFin (Nat.succ n) 0 (NeZero.succ n))))) -> (Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd m n)) i))) (a (Fin.succ m i)))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_auxₓ'. -/
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
a i.succ :=
@@ -484,6 +622,12 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
+/- warning: composition_series.append_nat_add_aux -> CompositionSeries.append_natAdd_aux is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc n) i))
+but is expected to have type
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd m n)) i))) (b (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc n)) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_auxₓ'. -/
theorem append_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).cast_succ =
b i.cast_succ :=
@@ -493,6 +637,12 @@ theorem append_natAdd_aux (i : Fin n) :
add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
+/- warning: composition_series.append_succ_nat_add_aux -> CompositionSeries.append_succ_natAdd_aux is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe m) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin m) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin m) (Fin.hasLe m)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc m))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe n) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (fun (_x : RelEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) => (Fin n) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (LE.le.{0} (Fin n) (Fin.hasLe n)) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) m n)))) (Fin.natAdd m n) i))) (b (Fin.succ n i))
+but is expected to have type
+ forall {α : Type.{u1}} {m : Nat} {n : Nat} (a : (Fin (Nat.succ m)) -> α) (b : (Fin (Nat.succ n)) -> α) (i : Fin n), Eq.{succ u1} α (Matrix.vecAppend.{u1} m (Nat.succ n) α (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (Nat.succ n)) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Nat.add_succ m n)) (Function.comp.{1, 1, succ u1} (Fin m) (Fin (Nat.succ m)) α a (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (fun (_x : Fin m) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin m) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin m) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin m) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin m) => LE.le.{0} (Fin m) (instLEFin m) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc m)))) b (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (fun (_x : Fin n) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin n) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n))) (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)))) (RelEmbedding.toEmbedding.{0, 0} (Fin n) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin n) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin n) => LE.le.{0} (Fin n) (instLEFin n) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) m n)) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd m n)) i))) (b (Fin.succ n i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add_aux CompositionSeries.append_succ_natAdd_auxₓ'. -/
theorem append_succ_natAdd_aux (i : Fin n) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
b i.succ :=
@@ -504,6 +654,7 @@ theorem append_succ_natAdd_aux (i : Fin n) :
end FinLemmas
+#print CompositionSeries.append /-
/-- Append two composition series `s₁` and `s₂` such that
the least element of `s₁` is the maximum element of `s₂`. -/
@[simps length]
@@ -520,36 +671,68 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
rw [append_nat_add_aux, append_succ_nat_add_aux]
exact s₂.step i
#align composition_series.append CompositionSeries.append
+-/
+/- warning: composition_series.coe_append -> CompositionSeries.coe_append is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s₁ : CompositionSeries.{u1} X _inst_1 _inst_2) (s₂ : CompositionSeries.{u1} X _inst_1 _inst_2) (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> X) (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h)) (Matrix.vecAppend.{u1} (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) X (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Eq.symm.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (Nat.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Nat.add_succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.comp.{1, 1, succ u1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) X (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂))
+Case conversion may be inaccurate. Consider using '#align composition_series.coe_append CompositionSeries.coe_appendₓ'. -/
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
rfl
#align composition_series.coe_append CompositionSeries.coe_append
+/- warning: composition_series.append_cast_add -> CompositionSeries.append_castAdd is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) i))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_cast_add CompositionSeries.append_castAddₓ'. -/
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
append s₁ s₂ h (Fin.castAdd s₂.length i).cast_succ = s₁ i.cast_succ := by
rw [coe_append, append_cast_add_aux _ _ i]
#align composition_series.append_cast_add CompositionSeries.append_castAdd
+/- warning: composition_series.append_succ_cast_add -> CompositionSeries.append_succ_castAdd is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₁ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAddₓ'. -/
@[simp]
theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot)
(i : Fin s₁.length) : append s₁ s₂ h (Fin.castAdd s₂.length i).succ = s₁ i.succ := by
rw [coe_append, append_succ_cast_add_aux _ _ _ h]
#align composition_series.append_succ_cast_add CompositionSeries.append_succ_castAdd
+/- warning: composition_series.append_nat_add -> CompositionSeries.append_natAdd is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂ (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_nat_add CompositionSeries.append_natAddₓ'. -/
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
append s₁ s₂ h (Fin.natAdd s₁.length i).cast_succ = s₂ i.cast_succ := by
rw [coe_append, append_nat_add_aux _ _ i]
#align composition_series.append_nat_add CompositionSeries.append_natAdd
+/- warning: composition_series.append_succ_nat_add -> CompositionSeries.append_succ_natAdd is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (fun (_x : RelEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) => (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin.hasLe (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) i))) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] {s₁ : CompositionSeries.{u1} X _inst_1 _inst_2} {s₂ : CompositionSeries.{u1} X _inst_1 _inst_2} (h : Eq.{succ u1} X (CompositionSeries.top.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.bot.{u1} X _inst_1 _inst_2 s₂)) (i : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.append.{u1} X _inst_1 _inst_2 s₁ s₂ h) (Fin.succ (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (fun (_x : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)))) (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) => LE.le.{0} (Fin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) (instLEFin (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂)) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.natAdd (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₁) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂))) i))) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s₂ (Fin.succ (CompositionSeries.length.{u1} X _inst_1 _inst_2 s₂) i))
+Case conversion may be inaccurate. Consider using '#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAddₓ'. -/
@[simp]
theorem append_succ_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
append s₁ s₂ h (Fin.natAdd s₁.length i).succ = s₂ i.succ := by
rw [coe_append, append_succ_nat_add_aux _ _ i]
#align composition_series.append_succ_nat_add CompositionSeries.append_succ_natAdd
+#print CompositionSeries.snoc /-
/-- Add an element to the top of a `composition_series` -/
@[simps length]
def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : CompositionSeries X
@@ -563,30 +746,44 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
rw [Fin.snoc_cast_succ, ← Fin.castSucc_fin_succ, Fin.snoc_cast_succ]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
+-/
+#print CompositionSeries.top_snoc /-
@[simp]
theorem top_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
(snoc s x hsat).top = x :=
Fin.snoc_last _ _
#align composition_series.top_snoc CompositionSeries.top_snoc
+-/
+#print CompositionSeries.snoc_last /-
@[simp]
theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
snoc s x hsat (Fin.last (s.length + 1)) = x :=
Fin.snoc_last _ _
#align composition_series.snoc_last CompositionSeries.snoc_last
+-/
+/- warning: composition_series.snoc_cast_succ -> CompositionSeries.snoc_castSucc is a dubious translation:
+lean 3 declaration is
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))), Eq.{succ u1} X (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (coeFn.{1, 1} (OrderEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (fun (_x : RelEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (RelEmbedding.hasCoeToFun.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i)) (coeFn.{succ u1, succ u1} (CompositionSeries.{u1} X _inst_1 _inst_2) (fun (x : CompositionSeries.{u1} X _inst_1 _inst_2) => (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (CompositionSeries.length.{u1} X _inst_1 _inst_2 x) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> X) (CompositionSeries.hasCoeFun.{u1} X _inst_1 _inst_2) s i)
+but is expected to have type
+ forall {X : Type.{u1}} [_inst_1 : Lattice.{u1} X] [_inst_2 : JordanHolderLattice.{u1} X _inst_1] (s : CompositionSeries.{u1} X _inst_1 _inst_2) (x : X) (hsat : JordanHolderLattice.IsMaximal.{u1} X _inst_1 _inst_2 (CompositionSeries.top.{u1} X _inst_1 _inst_2 s) x) (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))), Eq.{succ u1} X (CompositionSeries.series.{u1} X _inst_1 _inst_2 (CompositionSeries.snoc.{u1} X _inst_1 _inst_2 s x hsat) (FunLike.coe.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (_x : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) _x) (EmbeddingLike.toFunLike.{1, 1, 1} (Function.Embedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Function.instEmbeddingLikeEmbedding.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (RelEmbedding.toEmbedding.{0, 0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => LE.le.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (instLEFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Fin.castSucc (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (CompositionSeries.length.{u1} X _inst_1 _inst_2 s) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) i)) (CompositionSeries.series.{u1} X _inst_1 _inst_2 s i)
+Case conversion may be inaccurate. Consider using '#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccₓ'. -/
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat i.cast_succ = s i :=
Fin.snoc_cast_succ _ _ _
#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
+#print CompositionSeries.bot_snoc /-
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
(snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_cast_succ s _ _ 0, Fin.castSucc_zero]
#align composition_series.bot_snoc CompositionSeries.bot_snoc
+-/
+#print CompositionSeries.mem_snoc /-
theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x} :
y ∈ snoc s x hsat ↔ y ∈ s ∨ y = x :=
by
@@ -605,7 +802,9 @@ theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x}
· use Fin.last _
simp
#align composition_series.mem_snoc CompositionSeries.mem_snoc
+-/
+#print CompositionSeries.eq_snoc_eraseTop /-
theorem eq_snoc_eraseTop {s : CompositionSeries X} (h : 0 < s.length) :
s = snoc (eraseTop s) s.top (isMaximal_eraseTop_top h) :=
by
@@ -613,7 +812,9 @@ theorem eq_snoc_eraseTop {s : CompositionSeries X} (h : 0 < s.length) :
simp [mem_snoc, mem_erase_top h]
by_cases h : x = s.top <;> simp [*, s.top_mem]
#align composition_series.eq_snoc_erase_top CompositionSeries.eq_snoc_eraseTop
+-/
+#print CompositionSeries.snoc_eraseTop_top /-
@[simp]
theorem snoc_eraseTop_top {s : CompositionSeries X} (h : IsMaximal s.eraseTop.top s.top) :
s.eraseTop.snoc s.top h = s :=
@@ -625,7 +826,9 @@ theorem snoc_eraseTop_top {s : CompositionSeries X} (h : IsMaximal s.eraseTop.to
simp [top, Fin.ext_iff, hs])
(eq_snoc_eraseTop h).symm
#align composition_series.snoc_erase_top_top CompositionSeries.snoc_eraseTop_top
+-/
+#print CompositionSeries.Equivalent /-
/-- Two `composition_series X`, `s₁` and `s₂` are equivalent if there is a bijection
`e : fin s₁.length ≃ fin s₂.length` such that for any `i`,
`iso (s₁ i) (s₁ i.succ) (s₂ (e i), s₂ (e i.succ))` -/
@@ -633,25 +836,33 @@ def Equivalent (s₁ s₂ : CompositionSeries X) : Prop :=
∃ f : Fin s₁.length ≃ Fin s₂.length,
∀ i : Fin s₁.length, Iso (s₁ i.cast_succ, s₁ i.succ) (s₂ (f i).cast_succ, s₂ (f i).succ)
#align composition_series.equivalent CompositionSeries.Equivalent
+-/
namespace Equivalent
+#print CompositionSeries.Equivalent.refl /-
@[refl]
theorem refl (s : CompositionSeries X) : Equivalent s s :=
⟨Equiv.refl _, fun _ => (s.step _).iso_refl⟩
#align composition_series.equivalent.refl CompositionSeries.Equivalent.refl
+-/
+#print CompositionSeries.Equivalent.symm /-
@[symm]
theorem symm {s₁ s₂ : CompositionSeries X} (h : Equivalent s₁ s₂) : Equivalent s₂ s₁ :=
⟨h.some.symm, fun i => iso_symm (by simpa using h.some_spec (h.some.symm i))⟩
#align composition_series.equivalent.symm CompositionSeries.Equivalent.symm
+-/
+#print CompositionSeries.Equivalent.trans /-
@[trans]
theorem trans {s₁ s₂ s₃ : CompositionSeries X} (h₁ : Equivalent s₁ s₂) (h₂ : Equivalent s₂ s₃) :
Equivalent s₁ s₃ :=
⟨h₁.some.trans h₂.some, fun i => iso_trans (h₁.choose_spec i) (h₂.choose_spec (h₁.some i))⟩
#align composition_series.equivalent.trans CompositionSeries.Equivalent.trans
+-/
+#print CompositionSeries.Equivalent.append /-
theorem append {s₁ s₂ t₁ t₂ : CompositionSeries X} (hs : s₁.top = s₂.bot) (ht : t₁.top = t₂.bot)
(h₁ : Equivalent s₁ t₁) (h₂ : Equivalent s₂ t₂) :
Equivalent (append s₁ s₂ hs) (append t₁ t₂ ht) :=
@@ -669,7 +880,9 @@ theorem append {s₁ s₂ t₁ t₂ : CompositionSeries X} (hs : s₁.top = s₂
· intro i
simpa [top, bot] using h₂.some_spec i⟩
#align composition_series.equivalent.append CompositionSeries.Equivalent.append
+-/
+#print CompositionSeries.Equivalent.snoc /-
protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat₁ : IsMaximal s₁.top x₁}
{hsat₂ : IsMaximal s₂.top x₂} (hequiv : Equivalent s₁ s₂)
(htop : Iso (s₁.top, x₁) (s₂.top, x₂)) : Equivalent (s₁.snoc x₁ hsat₁) (s₂.snoc x₂ hsat₂) :=
@@ -685,11 +898,15 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
· intro i
simpa [Fin.succ_castSucc] using hequiv.some_spec i⟩
#align composition_series.equivalent.snoc CompositionSeries.Equivalent.snoc
+-/
+#print CompositionSeries.Equivalent.length_eq /-
theorem length_eq {s₁ s₂ : CompositionSeries X} (h : Equivalent s₁ s₂) : s₁.length = s₂.length := by
simpa using Fintype.card_congr h.some
#align composition_series.equivalent.length_eq CompositionSeries.Equivalent.length_eq
+-/
+#print CompositionSeries.Equivalent.snoc_snoc_swap /-
theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat₁ : IsMaximal s.top x₁}
{hsat₂ : IsMaximal s.top x₂} {hsaty₁ : IsMaximal (snoc s x₁ hsat₁).top y₁}
{hsaty₂ : IsMaximal (snoc s x₂ hsat₂).top y₂} (hr₁ : Iso (s.top, x₁) (x₂, y₂))
@@ -718,9 +935,11 @@ theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat
snoc_cast_succ, snoc_cast_succ]
exact (s.step i).iso_refl⟩
#align composition_series.equivalent.snoc_snoc_swap CompositionSeries.Equivalent.snoc_snoc_swap
+-/
end Equivalent
+#print CompositionSeries.length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero /-
theorem length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂ : CompositionSeries X}
(hb : s₁.bot = s₂.bot) (ht : s₁.top = s₂.top) (hs₁ : s₁.length = 0) : s₂.length = 0 :=
by
@@ -729,7 +948,9 @@ theorem length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂
s₂.injective (hb.symm.trans (this.trans ht)).symm
simpa [Fin.ext_iff]
#align composition_series.length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero CompositionSeries.length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero
+-/
+#print CompositionSeries.length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos /-
theorem length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos {s₁ s₂ : CompositionSeries X}
(hb : s₁.bot = s₂.bot) (ht : s₁.top = s₂.top) : 0 < s₁.length → 0 < s₂.length :=
not_imp_not.1
@@ -737,7 +958,9 @@ theorem length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos {s₁ s₂ : Compos
simp only [pos_iff_ne_zero, Ne.def, not_iff_not, Classical.not_not]
exact length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero hb.symm ht.symm)
#align composition_series.length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos CompositionSeries.length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos
+-/
+#print CompositionSeries.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero /-
theorem eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂ : CompositionSeries X}
(hb : s₁.bot = s₂.bot) (ht : s₁.top = s₂.top) (hs₁0 : s₁.length = 0) : s₁ = s₂ :=
by
@@ -751,7 +974,9 @@ theorem eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero {s₁ s₂ : Compositio
ext
simp [*]
#align composition_series.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero CompositionSeries.eq_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero
+-/
+#print CompositionSeries.exists_top_eq_snoc_equivalant /-
/-- Given a `composition_series`, `s`, and an element `x`
such that `x` is maximal inside `s.top` there is a series, `t`,
such that `t.top = x`, `t.bot = s.bot`
@@ -799,7 +1024,9 @@ theorem exists_top_eq_snoc_equivalant (s : CompositionSeries X) (x : X) (hm : Is
second_iso_of_eq (is_maximal_erase_top_top h0s)
(sup_eq_of_is_maximal (is_maximal_erase_top_top h0s) hm hetx) (by rw [inf_comm, htt])
#align composition_series.exists_top_eq_snoc_equivalant CompositionSeries.exists_top_eq_snoc_equivalant
+-/
+#print CompositionSeries.jordan_holder /-
/-- The **Jordan-Hölder** theorem, stated for any `jordan_holder_lattice`.
If two composition series start and finish at the same place, they are equivalent. -/
theorem jordan_holder (s₁ s₂ : CompositionSeries X) (hb : s₁.bot = s₂.bot) (ht : s₁.top = s₂.top) :
@@ -819,6 +1046,7 @@ theorem jordan_holder (s₁ s₂ : CompositionSeries X) (hb : s₁.bot = s₂.bo
simp only [ht]
exact equivalent.snoc this (by simp [htt, (is_maximal_erase_top_top h0s₂).iso_refl])
#align composition_series.jordan_holder CompositionSeries.jordan_holder
+-/
end CompositionSeries
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -658,7 +658,7 @@ theorem append {s₁ s₂ t₁ t₂ : CompositionSeries X} (hs : s₁.top = s₂
let e : Fin (s₁.length + s₂.length) ≃ Fin (t₁.length + t₂.length) :=
calc
Fin (s₁.length + s₂.length) ≃ Sum (Fin s₁.length) (Fin s₂.length) := finSumFinEquiv.symm
- _ ≃ Sum (Fin t₁.length) (Fin t₂.length) := Equiv.sumCongr h₁.some h₂.some
+ _ ≃ Sum (Fin t₁.length) (Fin t₂.length) := (Equiv.sumCongr h₁.some h₂.some)
_ ≃ Fin (t₁.length + t₂.length) := finSumFinEquiv
⟨e, by
@@ -676,7 +676,7 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
let e : Fin s₁.length.succ ≃ Fin s₂.length.succ :=
calc
Fin (s₁.length + 1) ≃ Option (Fin s₁.length) := finSuccEquivLast
- _ ≃ Option (Fin s₂.length) := Functor.mapEquiv Option hequiv.some
+ _ ≃ Option (Fin s₂.length) := (Functor.mapEquiv Option hequiv.some)
_ ≃ Fin (s₂.length + 1) := finSuccEquivLast.symm
⟨e, fun i => by
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -227,10 +227,8 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
Nat.succ_injective
((List.length_ofFn s₁).symm.trans <| (congr_arg List.length h).trans <| List.length_ofFn s₂)
apply ext_fun h₁
- -- Porting note: `List.nthLe_ofFn` has been deprecated but `List.get_ofFn` has a
- -- different type, so we do golf here.
- exact congr_fun <|
- List.ofFn_injective <| h.trans <| List.ofFn_congr (congr_arg Nat.succ h₁).symm _
+ exact congr_fun <| List.ofFn_injective <| h.trans <|
+ List.ofFn_congr (congr_arg Nat.succ h₁).symm _
#align composition_series.to_list_injective CompositionSeries.toList_injective
theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList :=
@@ -262,11 +262,8 @@ theorem mem_toList {s : CompositionSeries X} {x : X} : x ∈ s.toList ↔ x ∈
def ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l) : CompositionSeries X
where
length := l.length - 1
- series i :=
- l.nthLe i
- (by
- conv_rhs => rw [← tsub_add_cancel_of_le (Nat.succ_le_of_lt (List.length_pos_of_ne_nil hl))]
- exact i.2)
+ series i := l.get <| i.cast <|
+ tsub_add_cancel_of_le (Nat.succ_le_of_lt (List.length_pos_of_ne_nil hl))
step' := fun ⟨i, hi⟩ => List.chain'_iff_get.1 hc i hi
#align composition_series.of_list CompositionSeries.ofList
@@ -280,8 +277,7 @@ theorem ofList_toList (s : CompositionSeries X) :
refine' ext_fun _ _
· rw [length_ofList, length_toList, Nat.add_one_sub_one]
· rintro ⟨i, hi⟩
- -- Porting note: Was `dsimp [ofList, toList]; rw [List.nthLe_ofFn']`.
- simp [ofList, toList, -List.ofFn_succ]
+ simp [ofList, toList]
#align composition_series.of_list_to_list CompositionSeries.ofList_toList
@[simp]
@@ -637,7 +637,7 @@ theorem append {s₁ s₂ t₁ t₂ : CompositionSeries X} (hs : s₁.top = s₂
let e : Fin (s₁.length + s₂.length) ≃ Fin (t₁.length + t₂.length) :=
calc
Fin (s₁.length + s₂.length) ≃ Sum (Fin s₁.length) (Fin s₂.length) := finSumFinEquiv.symm
- _ ≃ Sum (Fin t₁.length) (Fin t₂.length) := (Equiv.sumCongr h₁.choose h₂.choose)
+ _ ≃ Sum (Fin t₁.length) (Fin t₂.length) := Equiv.sumCongr h₁.choose h₂.choose
_ ≃ Fin (t₁.length + t₂.length) := finSumFinEquiv
⟨e, by
@@ -655,7 +655,7 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
let e : Fin s₁.length.succ ≃ Fin s₂.length.succ :=
calc
Fin (s₁.length + 1) ≃ Option (Fin s₁.length) := finSuccEquivLast
- _ ≃ Option (Fin s₂.length) := (Functor.mapEquiv Option hequiv.choose)
+ _ ≃ Option (Fin s₂.length) := Functor.mapEquiv Option hequiv.choose
_ ≃ Fin (s₂.length + 1) := finSuccEquivLast.symm
⟨e, fun i => by
Eliminates two porting notes and reduces elaboration time of the def from 0.185 to 0.175 seconds.
@@ -226,20 +226,11 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
have h₁ : s₁.length = s₂.length :=
Nat.succ_injective
((List.length_ofFn s₁).symm.trans <| (congr_arg List.length h).trans <| List.length_ofFn s₂)
- have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ h₁) i) :=
- -- Porting note: `List.nthLe_ofFn` has been deprecated but `List.get_ofFn` has a
- -- different type, so we do golf here.
- congr_fun <| List.ofFn_injective <| h.trans <| List.ofFn_congr (congr_arg Nat.succ h₁).symm _
- cases s₁
- cases s₂
- -- Porting note: `dsimp at *` doesn't work. Why?
- dsimp at h h₁ h₂
- subst h₁
- -- Porting note: `[heq_iff_eq, eq_self_iff_true, true_and_iff]`
- -- → `[mk.injEq, heq_eq_eq, true_and]`
- simp only [mk.injEq, heq_eq_eq, true_and]
- simp only [Fin.cast_refl] at h₂
- exact funext h₂
+ apply ext_fun h₁
+ -- Porting note: `List.nthLe_ofFn` has been deprecated but `List.get_ofFn` has a
+ -- different type, so we do golf here.
+ exact congr_fun <|
+ List.ofFn_injective <| h.trans <| List.ofFn_congr (congr_arg Nat.succ h₁).symm _
#align composition_series.to_list_injective CompositionSeries.toList_injective
theorem chain'_toList (s : CompositionSeries X) : List.Chain' IsMaximal s.toList :=
@@ -726,7 +726,7 @@ theorem length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos {s₁ s₂ : Compos
(hb : s₁.bot = s₂.bot) (ht : s₁.top = s₂.top) : 0 < s₁.length → 0 < s₂.length :=
not_imp_not.1
(by
- simp only [pos_iff_ne_zero, Ne.def, not_iff_not, Classical.not_not]
+ simp only [pos_iff_ne_zero, Ne, not_iff_not, Classical.not_not]
exact length_eq_zero_of_bot_eq_bot_of_top_eq_top_of_length_eq_zero hb.symm ht.symm)
#align composition_series.length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos CompositionSeries.length_pos_of_bot_eq_bot_of_top_eq_top_of_length_pos
@@ -653,9 +653,9 @@ theorem append {s₁ s₂ t₁ t₂ : CompositionSeries X} (hs : s₁.top = s₂
intro i
refine' Fin.addCases _ _ i
· intro i
- simpa [top, bot] using h₁.choose_spec i
+ simpa [e, top, bot] using h₁.choose_spec i
· intro i
- simpa [top, bot] using h₂.choose_spec i⟩
+ simpa [e, top, bot] using h₂.choose_spec i⟩
#align composition_series.equivalent.append CompositionSeries.Equivalent.append
protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat₁ : IsMaximal s₁.top x₁}
@@ -669,9 +669,9 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
⟨e, fun i => by
refine' Fin.lastCases _ _ i
- · simpa [top] using htop
+ · simpa [e, top] using htop
· intro i
- simpa [Fin.succ_castSucc] using hequiv.choose_spec i⟩
+ simpa [e, Fin.succ_castSucc] using hequiv.choose_spec i⟩
#align composition_series.equivalent.snoc CompositionSeries.Equivalent.snoc
theorem length_eq {s₁ s₂ : CompositionSeries X} (h : Equivalent s₁ s₂) : s₁.length = s₂.length := by
@@ -693,7 +693,7 @@ theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat
ne_of_lt (by simp [Fin.castSucc_lt_last])
⟨e, by
intro i
- dsimp only []
+ dsimp only [e]
refine' Fin.lastCases _ (fun i => _) i
· erw [Equiv.swap_apply_left, snoc_castSucc, snoc_last, Fin.succ_last, snoc_last,
snoc_castSucc, snoc_castSucc, Fin.succ_castSucc, snoc_castSucc, Fin.succ_last,
@@ -157,7 +157,7 @@ theorem step (s : CompositionSeries X) :
s.step'
#align composition_series.step CompositionSeries.step
--- @[simp] -- Porting note: dsimp can prove this
+-- @[simp] -- Porting note (#10685): dsimp can prove this
theorem coeFn_mk (length : ℕ) (series step) :
(@CompositionSeries.mk X _ _ length series step : Fin length.succ → X) = series :=
rfl
@@ -427,7 +427,7 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
have hi : (i : ℕ) < s.length := by
conv_rhs => rw [← Nat.add_one_sub_one s.length, Nat.succ_sub h]
exact i.2
- -- Porting note: Was `simp [top, Fin.ext_iff, ne_of_lt hi]`.
+ -- porting note (#10745): was `simp [top, Fin.ext_iff, ne_of_lt hi]`.
simp [top, Fin.ext_iff, ne_of_lt hi, -Set.mem_range, Set.mem_range_self]
· intro h
exact mem_eraseTop_of_ne_of_mem h.1 h.2
@@ -287,7 +287,7 @@ theorem length_ofList (l : List X) (hl : l ≠ []) (hc : List.Chain' IsMaximal l
theorem ofList_toList (s : CompositionSeries X) :
ofList s.toList s.toList_ne_nil s.chain'_toList = s := by
refine' ext_fun _ _
- · rw [length_ofList, length_toList, Nat.succ_sub_one]
+ · rw [length_ofList, length_toList, Nat.add_one_sub_one]
· rintro ⟨i, hi⟩
-- Porting note: Was `dsimp [ofList, toList]; rw [List.nthLe_ofFn']`.
simp [ofList, toList, -List.ofFn_succ]
@@ -411,7 +411,8 @@ theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠
x ∈ s.eraseTop := by
rcases hxs with ⟨i, rfl⟩
have hi : (i : ℕ) < (s.length - 1).succ := by
- conv_rhs => rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx), Nat.succ_sub_one]
+ conv_rhs => rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx),
+ Nat.add_one_sub_one]
exact lt_of_le_of_ne (Nat.le_of_lt_succ i.2) (by simpa [top, s.inj, Fin.ext_iff] using hx)
refine' ⟨Fin.castSucc (n := s.length + 1) i, _⟩
simp [Fin.ext_iff, Nat.mod_eq_of_lt hi]
@@ -424,7 +425,7 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
constructor
· rintro ⟨i, rfl⟩
have hi : (i : ℕ) < s.length := by
- conv_rhs => rw [← Nat.succ_sub_one s.length, Nat.succ_sub h]
+ conv_rhs => rw [← Nat.add_one_sub_one s.length, Nat.succ_sub h]
exact i.2
-- Porting note: Was `simp [top, Fin.ext_iff, ne_of_lt hi]`.
simp [top, Fin.ext_iff, ne_of_lt hi, -Set.mem_range, Set.mem_range_self]
@@ -440,7 +441,7 @@ theorem lt_top_of_mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.leng
theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
IsMaximal s.eraseTop.top s.top := by
have : s.length - 1 + 1 = s.length := by
- conv_rhs => rw [← Nat.succ_sub_one s.length]; rw [Nat.succ_sub h]
+ conv_rhs => rw [← Nat.add_one_sub_one s.length]; rw [Nat.succ_sub h]
rw [top_eraseTop, top]
convert s.step ⟨s.length - 1, Nat.sub_lt h zero_lt_one⟩; ext; simp [this]
#align composition_series.is_maximal_erase_top_top CompositionSeries.isMaximal_eraseTop_top
Removes nonterminal simps on lines looking like simp [...]
@@ -595,7 +595,7 @@ theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x}
theorem eq_snoc_eraseTop {s : CompositionSeries X} (h : 0 < s.length) :
s = snoc (eraseTop s) s.top (isMaximal_eraseTop_top h) := by
ext x
- simp [mem_snoc, mem_eraseTop h]
+ simp only [mem_snoc, mem_eraseTop h, ne_eq]
by_cases h : x = s.top <;> simp [*, s.top_mem]
#align composition_series.eq_snoc_erase_top CompositionSeries.eq_snoc_eraseTop
Fin.castIso
and Fin.revPerm
with Fin.cast
and Fin.rev
for the bump of Std (#5847)
Some theorems in Data.Fin.Basic
are copied to Std at the recent commit in Std.
These are written using Fin.cast
and Fin.rev
, so declarations using Fin.castIso
and Fin.revPerm
in Mathlib should be rewritten.
Co-authored-by: Pol'tta / Miyahara Kō <52843868+Komyyy@users.noreply.github.com> Co-authored-by: Johan Commelin <johan@commelin.net>
@@ -204,7 +204,7 @@ def toList (s : CompositionSeries X) : List X :=
/-- Two `CompositionSeries` are equal if they are the same length and
have the same `i`th element for every `i` -/
theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.length)
- (h : ∀ i, s₁ i = s₂ (Fin.castIso (congr_arg Nat.succ hl) i)) : s₁ = s₂ := by
+ (h : ∀ i, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ hl) i)) : s₁ = s₂ := by
cases s₁; cases s₂
-- Porting note: `dsimp at *` doesn't work. Why?
dsimp at hl h
@@ -226,7 +226,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
have h₁ : s₁.length = s₂.length :=
Nat.succ_injective
((List.length_ofFn s₁).symm.trans <| (congr_arg List.length h).trans <| List.length_ofFn s₂)
- have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.castIso (congr_arg Nat.succ h₁) i) :=
+ have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ h₁) i) :=
-- Porting note: `List.nthLe_ofFn` has been deprecated but `List.get_ofFn` has a
-- different type, so we do golf here.
congr_fun <| List.ofFn_injective <| h.trans <| List.ofFn_congr (congr_arg Nat.succ h₁).symm _
@@ -238,7 +238,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
-- Porting note: `[heq_iff_eq, eq_self_iff_true, true_and_iff]`
-- → `[mk.injEq, heq_eq_eq, true_and]`
simp only [mk.injEq, heq_eq_eq, true_and]
- simp only [Fin.castIso_refl] at h₂
+ simp only [Fin.cast_refl] at h₂
exact funext h₂
#align composition_series.to_list_injective CompositionSeries.toList_injective
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -448,7 +448,7 @@ theorem isMaximal_eraseTop_top {s : CompositionSeries X} (h : 0 < s.length) :
section FinLemmas
-- TODO: move these to `VecNotation` and rename them to better describe their statement
-variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
+variable {α : Type*} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
theorem append_castAdd_aux (i : Fin m) :
Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b
Various adaptations to changes when Fin
API was moved to Std. One notable change is that many lemmas are now stated in terms of i ≠ 0
(for i : Fin n
) rather then i.1 ≠ 0
, and as a consequence many Fin.vne_of_ne
applications have been added or removed, mostly removed.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Wojciech Nawrocki <wjnawrocki@protonmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -571,7 +571,7 @@ theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
(snoc s x hsat).bot = s.bot := by
- rw [bot, bot, ← snoc_castSucc s x hsat 0, Fin.castSucc_zero (n := s.length + 1)]
+ rw [bot, bot, ← snoc_castSucc s x hsat 0, Fin.castSucc_zero' (n := s.length + 1)]
#align composition_series.bot_snoc CompositionSeries.bot_snoc
theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x} :
@@ -2,11 +2,6 @@
Copyright (c) 2021 Chris Hughes. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
-
-! This file was ported from Lean 3 source module order.jordan_holder
-! leanprover-community/mathlib commit 91288e351d51b3f0748f0a38faa7613fb0ae2ada
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Order.Lattice
import Mathlib.Data.List.Sort
@@ -14,6 +9,8 @@ import Mathlib.Logic.Equiv.Fin
import Mathlib.Logic.Equiv.Functor
import Mathlib.Data.Fintype.Card
+#align_import order.jordan_holder from "leanprover-community/mathlib"@"91288e351d51b3f0748f0a38faa7613fb0ae2ada"
+
/-!
# Jordan-Hölder Theorem
Co-authored-by: Komyyy <pol_tta@outlook.jp> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -138,7 +138,7 @@ and `s.bot` is the least element.
structure CompositionSeries (X : Type u) [Lattice X] [JordanHolderLattice X] : Type u where
length : ℕ
series : Fin (length + 1) → X
- step' : ∀ i : Fin length, IsMaximal (series (Fin.castSuccEmb i)) (series (Fin.succ i))
+ step' : ∀ i : Fin length, IsMaximal (series (Fin.castSucc i)) (series (Fin.succ i))
#align composition_series CompositionSeries
namespace CompositionSeries
@@ -156,7 +156,7 @@ instance inhabited [Inhabited X] : Inhabited (CompositionSeries X) :=
#align composition_series.has_inhabited CompositionSeries.inhabited
theorem step (s : CompositionSeries X) :
- ∀ i : Fin s.length, IsMaximal (s (Fin.castSuccEmb i)) (s (Fin.succ i)) :=
+ ∀ i : Fin s.length, IsMaximal (s (Fin.castSucc i)) (s (Fin.succ i)) :=
s.step'
#align composition_series.step CompositionSeries.step
@@ -167,7 +167,7 @@ theorem coeFn_mk (length : ℕ) (series step) :
#align composition_series.coe_fn_mk CompositionSeries.coeFn_mk
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) :
- s (Fin.castSuccEmb i) < s (Fin.succ i) :=
+ s (Fin.castSucc i) < s (Fin.succ i) :=
lt_of_isMaximal (s.step _)
#align composition_series.lt_succ CompositionSeries.lt_succ
@@ -382,8 +382,7 @@ theorem forall_mem_eq_of_length_eq_zero {s : CompositionSeries X} (hs : s.length
/-- Remove the largest element from a `CompositionSeries`. If the series `s`
has length zero, then `s.eraseTop = s` -/
@[simps]
-def eraseTop (s : CompositionSeries X) : CompositionSeries X
- where
+def eraseTop (s : CompositionSeries X) : CompositionSeries X where
length := s.length - 1
series i := s ⟨i, lt_of_lt_of_le i.2 (Nat.succ_le_succ tsub_le_self)⟩
step' i := by
@@ -398,7 +397,7 @@ theorem top_eraseTop (s : CompositionSeries X) :
congr_arg s
(by
ext
- simp only [eraseTop_length, Fin.val_last, Fin.coe_castSuccEmb, Fin.coe_ofNat_eq_mod,
+ simp only [eraseTop_length, Fin.val_last, Fin.coe_castSucc, Fin.coe_ofNat_eq_mod,
Fin.val_mk])
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
@@ -417,7 +416,7 @@ theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠
have hi : (i : ℕ) < (s.length - 1).succ := by
conv_rhs => rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx), Nat.succ_sub_one]
exact lt_of_le_of_ne (Nat.le_of_lt_succ i.2) (by simpa [top, s.inj, Fin.ext_iff] using hx)
- refine' ⟨Fin.castSuccEmb i, _⟩
+ refine' ⟨Fin.castSucc (n := s.length + 1) i, _⟩
simp [Fin.ext_iff, Nat.mod_eq_of_lt hi]
#align composition_series.mem_erase_top_of_ne_of_mem CompositionSeries.mem_eraseTop_of_ne_of_mem
@@ -455,18 +454,18 @@ section FinLemmas
variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
theorem append_castAdd_aux (i : Fin m) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b
- (Fin.castSuccEmb <| Fin.castAdd n i) =
- a (Fin.castSuccEmb i) := by
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b
+ (Fin.castSucc <| Fin.castAdd n i) =
+ a (Fin.castSucc i) := by
cases i
simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAdd n i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
a i.succ := by
cases' i with i hi
- simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSuccEmb_mk,
+ simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSucc_mk,
Fin.val_mk, Fin.castAdd_mk]
split_ifs with h_1
· rfl
@@ -478,16 +477,16 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
theorem append_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b
- (Fin.castSuccEmb <| Fin.natAdd m i) =
- b (Fin.castSuccEmb i) := by
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b
+ (Fin.castSucc <| Fin.natAdd m i) =
+ b (Fin.castSucc i) := by
cases i
simp only [Matrix.vecAppend_eq_ite, Nat.not_lt_zero, Fin.natAdd_mk, add_lt_iff_neg_left,
- add_tsub_cancel_left, dif_neg, Fin.castSuccEmb_mk, not_false_iff, Fin.val_mk]
+ add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
theorem append_succ_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAdd m i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
b i.succ := by
cases' i with i hi
simp only [Matrix.vecAppend_eq_ite, add_assoc, Nat.not_lt_zero, Fin.natAdd_mk,
@@ -501,7 +500,7 @@ the least element of `s₁` is the maximum element of `s₂`. -/
@[simps length]
def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : CompositionSeries X where
length := s₁.length + s₂.length
- series := Matrix.vecAppend (Nat.add_succ s₁.length s₂.length).symm (s₁ ∘ Fin.castSuccEmb) s₂
+ series := Matrix.vecAppend (Nat.add_succ s₁.length s₂.length).symm (s₁ ∘ Fin.castSucc) s₂
step' i := by
refine' Fin.addCases _ _ i
· intro i
@@ -513,13 +512,13 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
#align composition_series.append CompositionSeries.append
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
- ⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSuccEmb) s₂ :=
+ ⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
rfl
#align composition_series.coe_append CompositionSeries.coe_append
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
- append s₁ s₂ h (Fin.castSuccEmb <| Fin.castAdd s₂.length i) = s₁ (Fin.castSuccEmb i) := by
+ append s₁ s₂ h (Fin.castSucc <| Fin.castAdd s₂.length i) = s₁ (Fin.castSucc i) := by
rw [coe_append, append_castAdd_aux _ _ i]
#align composition_series.append_cast_add CompositionSeries.append_castAdd
@@ -531,7 +530,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
- append s₁ s₂ h (Fin.castSuccEmb <| Fin.natAdd s₁.length i) = s₂ (Fin.castSuccEmb i) := by
+ append s₁ s₂ h (Fin.castSucc <| Fin.natAdd s₁.length i) = s₂ (Fin.castSucc i) := by
rw [coe_append, append_natAdd_aux _ _ i]
#align composition_series.append_nat_add CompositionSeries.append_natAdd
@@ -548,9 +547,9 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
series := Fin.snoc s x
step' i := by
refine' Fin.lastCases _ _ i
- · rwa [Fin.snoc_castSuccEmb, Fin.succ_last, Fin.snoc_last, ← top]
+ · rwa [Fin.snoc_castSucc, Fin.succ_last, Fin.snoc_last, ← top]
· intro i
- rw [Fin.snoc_castSuccEmb, ← Fin.castSuccEmb_fin_succ, Fin.snoc_castSuccEmb]
+ rw [Fin.snoc_castSucc, ← Fin.castSucc_fin_succ, Fin.snoc_castSucc]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
@@ -567,15 +566,15 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
#align composition_series.snoc_last CompositionSeries.snoc_last
@[simp]
-theorem snoc_castSuccEmb (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
- (i : Fin (s.length + 1)) : snoc s x hsat (Fin.castSuccEmb i) = s i :=
- Fin.snoc_castSuccEmb (α := fun _ => X) _ _ _
-#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccEmb
+theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
+ (i : Fin (s.length + 1)) : snoc s x hsat (Fin.castSucc i) = s i :=
+ Fin.snoc_castSucc (α := fun _ => X) _ _ _
+#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
(snoc s x hsat).bot = s.bot := by
- rw [bot, bot, ← snoc_castSuccEmb s _ _ 0, Fin.castSuccEmb_zero]
+ rw [bot, bot, ← snoc_castSucc s x hsat 0, Fin.castSucc_zero (n := s.length + 1)]
#align composition_series.bot_snoc CompositionSeries.bot_snoc
theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x} :
@@ -590,7 +589,7 @@ theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x}
simp
· intro h
rcases h with (⟨i, rfl⟩ | rfl)
- · use Fin.castSuccEmb i
+ · use Fin.castSucc i
simp
· use Fin.last _
simp
@@ -620,8 +619,8 @@ theorem snoc_eraseTop_top {s : CompositionSeries X} (h : IsMaximal s.eraseTop.to
`Iso (s₁ i) (s₁ i.succ) (s₂ (e i), s₂ (e i.succ))` -/
def Equivalent (s₁ s₂ : CompositionSeries X) : Prop :=
∃ f : Fin s₁.length ≃ Fin s₂.length,
- ∀ i : Fin s₁.length, Iso (s₁ (Fin.castSuccEmb i), s₁ i.succ)
- (s₂ (Fin.castSuccEmb (f i)), s₂ (Fin.succ (f i)))
+ ∀ i : Fin s₁.length, Iso (s₁ (Fin.castSucc i), s₁ i.succ)
+ (s₂ (Fin.castSucc (f i)), s₂ (Fin.succ (f i)))
#align composition_series.equivalent CompositionSeries.Equivalent
namespace Equivalent
@@ -674,7 +673,7 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
refine' Fin.lastCases _ _ i
· simpa [top] using htop
· intro i
- simpa [Fin.succ_castSuccEmb] using hequiv.choose_spec i⟩
+ simpa [Fin.succ_castSucc] using hequiv.choose_spec i⟩
#align composition_series.equivalent.snoc CompositionSeries.Equivalent.snoc
theorem length_eq {s₁ s₂ : CompositionSeries X} (h : Equivalent s₁ s₂) : s₁.length = s₂.length := by
@@ -687,29 +686,29 @@ theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat
(hr₂ : Iso (x₁, y₁) (s.top, x₂)) :
Equivalent (snoc (snoc s x₁ hsat₁) y₁ hsaty₁) (snoc (snoc s x₂ hsat₂) y₂ hsaty₂) :=
let e : Fin (s.length + 1 + 1) ≃ Fin (s.length + 1 + 1) :=
- Equiv.swap (Fin.last _) (Fin.castSuccEmb (Fin.last _))
+ Equiv.swap (Fin.last _) (Fin.castSucc (Fin.last _))
have h1 : ∀ {i : Fin s.length},
- (Fin.castSuccEmb (Fin.castSuccEmb i)) ≠ (Fin.castSuccEmb (Fin.last _)) := fun {_} =>
- ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
+ (Fin.castSucc (Fin.castSucc i)) ≠ (Fin.castSucc (Fin.last _)) := fun {_} =>
+ ne_of_lt (by simp [Fin.castSucc_lt_last])
have h2 : ∀ {i : Fin s.length},
- (Fin.castSuccEmb (Fin.castSuccEmb i)) ≠ Fin.last _ := fun {_} =>
- ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
+ (Fin.castSucc (Fin.castSucc i)) ≠ Fin.last _ := fun {_} =>
+ ne_of_lt (by simp [Fin.castSucc_lt_last])
⟨e, by
intro i
dsimp only []
refine' Fin.lastCases _ (fun i => _) i
- · erw [Equiv.swap_apply_left, snoc_castSuccEmb, snoc_last, Fin.succ_last, snoc_last,
- snoc_castSuccEmb, snoc_castSuccEmb, Fin.succ_castSuccEmb, snoc_castSuccEmb, Fin.succ_last,
+ · erw [Equiv.swap_apply_left, snoc_castSucc, snoc_last, Fin.succ_last, snoc_last,
+ snoc_castSucc, snoc_castSucc, Fin.succ_castSucc, snoc_castSucc, Fin.succ_last,
snoc_last]
exact hr₂
· refine' Fin.lastCases _ (fun i => _) i
- · erw [Equiv.swap_apply_right, snoc_castSuccEmb, snoc_castSuccEmb, snoc_castSuccEmb,
- Fin.succ_castSuccEmb, snoc_castSuccEmb, Fin.succ_last, snoc_last, snoc_last,
+ · erw [Equiv.swap_apply_right, snoc_castSucc, snoc_castSucc, snoc_castSucc,
+ Fin.succ_castSucc, snoc_castSucc, Fin.succ_last, snoc_last, snoc_last,
Fin.succ_last, snoc_last]
exact hr₁
- · erw [Equiv.swap_apply_of_ne_of_ne h2 h1, snoc_castSuccEmb, snoc_castSuccEmb,
- snoc_castSuccEmb, snoc_castSuccEmb, Fin.succ_castSuccEmb, snoc_castSuccEmb,
- Fin.succ_castSuccEmb, snoc_castSuccEmb, snoc_castSuccEmb, snoc_castSuccEmb]
+ · erw [Equiv.swap_apply_of_ne_of_ne h2 h1, snoc_castSucc, snoc_castSucc,
+ snoc_castSucc, snoc_castSucc, Fin.succ_castSucc, snoc_castSucc,
+ Fin.succ_castSucc, snoc_castSucc, snoc_castSucc, snoc_castSucc]
exact (s.step i).iso_refl⟩
#align composition_series.equivalent.snoc_snoc_swap CompositionSeries.Equivalent.snoc_snoc_swap
@@ -138,7 +138,7 @@ and `s.bot` is the least element.
structure CompositionSeries (X : Type u) [Lattice X] [JordanHolderLattice X] : Type u where
length : ℕ
series : Fin (length + 1) → X
- step' : ∀ i : Fin length, IsMaximal (series (Fin.castSucc i)) (series (Fin.succ i))
+ step' : ∀ i : Fin length, IsMaximal (series (Fin.castSuccEmb i)) (series (Fin.succ i))
#align composition_series CompositionSeries
namespace CompositionSeries
@@ -156,7 +156,7 @@ instance inhabited [Inhabited X] : Inhabited (CompositionSeries X) :=
#align composition_series.has_inhabited CompositionSeries.inhabited
theorem step (s : CompositionSeries X) :
- ∀ i : Fin s.length, IsMaximal (s (Fin.castSucc i)) (s (Fin.succ i)) :=
+ ∀ i : Fin s.length, IsMaximal (s (Fin.castSuccEmb i)) (s (Fin.succ i)) :=
s.step'
#align composition_series.step CompositionSeries.step
@@ -167,7 +167,7 @@ theorem coeFn_mk (length : ℕ) (series step) :
#align composition_series.coe_fn_mk CompositionSeries.coeFn_mk
theorem lt_succ (s : CompositionSeries X) (i : Fin s.length) :
- s (Fin.castSucc i) < s (Fin.succ i) :=
+ s (Fin.castSuccEmb i) < s (Fin.succ i) :=
lt_of_isMaximal (s.step _)
#align composition_series.lt_succ CompositionSeries.lt_succ
@@ -398,7 +398,7 @@ theorem top_eraseTop (s : CompositionSeries X) :
congr_arg s
(by
ext
- simp only [eraseTop_length, Fin.val_last, Fin.coe_castSucc, Fin.coe_ofNat_eq_mod,
+ simp only [eraseTop_length, Fin.val_last, Fin.coe_castSuccEmb, Fin.coe_ofNat_eq_mod,
Fin.val_mk])
#align composition_series.top_erase_top CompositionSeries.top_eraseTop
@@ -417,7 +417,7 @@ theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠
have hi : (i : ℕ) < (s.length - 1).succ := by
conv_rhs => rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx), Nat.succ_sub_one]
exact lt_of_le_of_ne (Nat.le_of_lt_succ i.2) (by simpa [top, s.inj, Fin.ext_iff] using hx)
- refine' ⟨Fin.castSucc i, _⟩
+ refine' ⟨Fin.castSuccEmb i, _⟩
simp [Fin.ext_iff, Nat.mod_eq_of_lt hi]
#align composition_series.mem_erase_top_of_ne_of_mem CompositionSeries.mem_eraseTop_of_ne_of_mem
@@ -455,18 +455,18 @@ section FinLemmas
variable {α : Type _} {m n : ℕ} (a : Fin m.succ → α) (b : Fin n.succ → α)
theorem append_castAdd_aux (i : Fin m) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b
- (Fin.castSucc <| Fin.castAdd n i) =
- a (Fin.castSucc i) := by
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b
+ (Fin.castSuccEmb <| Fin.castAdd n i) =
+ a (Fin.castSuccEmb i) := by
cases i
simp [Matrix.vecAppend_eq_ite, *]
#align composition_series.append_cast_add_aux CompositionSeries.append_castAdd_aux
theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.castAdd n i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.castAdd n i).succ =
a i.succ := by
cases' i with i hi
- simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSucc_mk,
+ simp only [Matrix.vecAppend_eq_ite, hi, Fin.succ_mk, Function.comp_apply, Fin.castSuccEmb_mk,
Fin.val_mk, Fin.castAdd_mk]
split_ifs with h_1
· rfl
@@ -478,16 +478,16 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
theorem append_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b
- (Fin.castSucc <| Fin.natAdd m i) =
- b (Fin.castSucc i) := by
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b
+ (Fin.castSuccEmb <| Fin.natAdd m i) =
+ b (Fin.castSuccEmb i) := by
cases i
simp only [Matrix.vecAppend_eq_ite, Nat.not_lt_zero, Fin.natAdd_mk, add_lt_iff_neg_left,
- add_tsub_cancel_left, dif_neg, Fin.castSucc_mk, not_false_iff, Fin.val_mk]
+ add_tsub_cancel_left, dif_neg, Fin.castSuccEmb_mk, not_false_iff, Fin.val_mk]
#align composition_series.append_nat_add_aux CompositionSeries.append_natAdd_aux
theorem append_succ_natAdd_aux (i : Fin n) :
- Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSucc) b (Fin.natAdd m i).succ =
+ Matrix.vecAppend (Nat.add_succ _ _).symm (a ∘ Fin.castSuccEmb) b (Fin.natAdd m i).succ =
b i.succ := by
cases' i with i hi
simp only [Matrix.vecAppend_eq_ite, add_assoc, Nat.not_lt_zero, Fin.natAdd_mk,
@@ -501,7 +501,7 @@ the least element of `s₁` is the maximum element of `s₂`. -/
@[simps length]
def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : CompositionSeries X where
length := s₁.length + s₂.length
- series := Matrix.vecAppend (Nat.add_succ s₁.length s₂.length).symm (s₁ ∘ Fin.castSucc) s₂
+ series := Matrix.vecAppend (Nat.add_succ s₁.length s₂.length).symm (s₁ ∘ Fin.castSuccEmb) s₂
step' i := by
refine' Fin.addCases _ _ i
· intro i
@@ -513,13 +513,13 @@ def append (s₁ s₂ : CompositionSeries X) (h : s₁.top = s₂.bot) : Composi
#align composition_series.append CompositionSeries.append
theorem coe_append (s₁ s₂ : CompositionSeries X) (h) :
- ⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSucc) s₂ :=
+ ⇑(s₁.append s₂ h) = Matrix.vecAppend (Nat.add_succ _ _).symm (s₁ ∘ Fin.castSuccEmb) s₂ :=
rfl
#align composition_series.coe_append CompositionSeries.coe_append
@[simp]
theorem append_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₁.length) :
- append s₁ s₂ h (Fin.castSucc <| Fin.castAdd s₂.length i) = s₁ (Fin.castSucc i) := by
+ append s₁ s₂ h (Fin.castSuccEmb <| Fin.castAdd s₂.length i) = s₁ (Fin.castSuccEmb i) := by
rw [coe_append, append_castAdd_aux _ _ i]
#align composition_series.append_cast_add CompositionSeries.append_castAdd
@@ -531,7 +531,7 @@ theorem append_succ_castAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s
@[simp]
theorem append_natAdd {s₁ s₂ : CompositionSeries X} (h : s₁.top = s₂.bot) (i : Fin s₂.length) :
- append s₁ s₂ h (Fin.castSucc <| Fin.natAdd s₁.length i) = s₂ (Fin.castSucc i) := by
+ append s₁ s₂ h (Fin.castSuccEmb <| Fin.natAdd s₁.length i) = s₂ (Fin.castSuccEmb i) := by
rw [coe_append, append_natAdd_aux _ _ i]
#align composition_series.append_nat_add CompositionSeries.append_natAdd
@@ -548,9 +548,9 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
series := Fin.snoc s x
step' i := by
refine' Fin.lastCases _ _ i
- · rwa [Fin.snoc_castSucc, Fin.succ_last, Fin.snoc_last, ← top]
+ · rwa [Fin.snoc_castSuccEmb, Fin.succ_last, Fin.snoc_last, ← top]
· intro i
- rw [Fin.snoc_castSucc, ← Fin.castSucc_fin_succ, Fin.snoc_castSucc]
+ rw [Fin.snoc_castSuccEmb, ← Fin.castSuccEmb_fin_succ, Fin.snoc_castSuccEmb]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
@@ -567,14 +567,15 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
#align composition_series.snoc_last CompositionSeries.snoc_last
@[simp]
-theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
- (i : Fin (s.length + 1)) : snoc s x hsat (Fin.castSucc i) = s i :=
- Fin.snoc_castSucc (α := fun _ => X) _ _ _
-#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
+theorem snoc_castSuccEmb (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
+ (i : Fin (s.length + 1)) : snoc s x hsat (Fin.castSuccEmb i) = s i :=
+ Fin.snoc_castSuccEmb (α := fun _ => X) _ _ _
+#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSuccEmb
@[simp]
theorem bot_snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
- (snoc s x hsat).bot = s.bot := by rw [bot, bot, ← snoc_castSucc s _ _ 0, Fin.castSucc_zero]
+ (snoc s x hsat).bot = s.bot := by
+ rw [bot, bot, ← snoc_castSuccEmb s _ _ 0, Fin.castSuccEmb_zero]
#align composition_series.bot_snoc CompositionSeries.bot_snoc
theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x} :
@@ -589,7 +590,7 @@ theorem mem_snoc {s : CompositionSeries X} {x y : X} {hsat : IsMaximal s.top x}
simp
· intro h
rcases h with (⟨i, rfl⟩ | rfl)
- · use Fin.castSucc i
+ · use Fin.castSuccEmb i
simp
· use Fin.last _
simp
@@ -619,8 +620,8 @@ theorem snoc_eraseTop_top {s : CompositionSeries X} (h : IsMaximal s.eraseTop.to
`Iso (s₁ i) (s₁ i.succ) (s₂ (e i), s₂ (e i.succ))` -/
def Equivalent (s₁ s₂ : CompositionSeries X) : Prop :=
∃ f : Fin s₁.length ≃ Fin s₂.length,
- ∀ i : Fin s₁.length, Iso (s₁ (Fin.castSucc i), s₁ i.succ)
- (s₂ (Fin.castSucc (f i)), s₂ (Fin.succ (f i)))
+ ∀ i : Fin s₁.length, Iso (s₁ (Fin.castSuccEmb i), s₁ i.succ)
+ (s₂ (Fin.castSuccEmb (f i)), s₂ (Fin.succ (f i)))
#align composition_series.equivalent CompositionSeries.Equivalent
namespace Equivalent
@@ -673,7 +674,7 @@ protected theorem snoc {s₁ s₂ : CompositionSeries X} {x₁ x₂ : X} {hsat
refine' Fin.lastCases _ _ i
· simpa [top] using htop
· intro i
- simpa [Fin.succ_castSucc] using hequiv.choose_spec i⟩
+ simpa [Fin.succ_castSuccEmb] using hequiv.choose_spec i⟩
#align composition_series.equivalent.snoc CompositionSeries.Equivalent.snoc
theorem length_eq {s₁ s₂ : CompositionSeries X} (h : Equivalent s₁ s₂) : s₁.length = s₂.length := by
@@ -686,28 +687,29 @@ theorem snoc_snoc_swap {s : CompositionSeries X} {x₁ x₂ y₁ y₂ : X} {hsat
(hr₂ : Iso (x₁, y₁) (s.top, x₂)) :
Equivalent (snoc (snoc s x₁ hsat₁) y₁ hsaty₁) (snoc (snoc s x₂ hsat₂) y₂ hsaty₂) :=
let e : Fin (s.length + 1 + 1) ≃ Fin (s.length + 1 + 1) :=
- Equiv.swap (Fin.last _) (Fin.castSucc (Fin.last _))
+ Equiv.swap (Fin.last _) (Fin.castSuccEmb (Fin.last _))
have h1 : ∀ {i : Fin s.length},
- (Fin.castSucc (Fin.castSucc i)) ≠ (Fin.castSucc (Fin.last _)) := fun {_} =>
- ne_of_lt (by simp [Fin.castSucc_lt_last])
+ (Fin.castSuccEmb (Fin.castSuccEmb i)) ≠ (Fin.castSuccEmb (Fin.last _)) := fun {_} =>
+ ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
have h2 : ∀ {i : Fin s.length},
- (Fin.castSucc (Fin.castSucc i)) ≠ Fin.last _ := fun {_} =>
- ne_of_lt (by simp [Fin.castSucc_lt_last])
+ (Fin.castSuccEmb (Fin.castSuccEmb i)) ≠ Fin.last _ := fun {_} =>
+ ne_of_lt (by simp [Fin.castSuccEmb_lt_last])
⟨e, by
intro i
dsimp only []
refine' Fin.lastCases _ (fun i => _) i
- · erw [Equiv.swap_apply_left, snoc_castSucc, snoc_last, Fin.succ_last, snoc_last,
- snoc_castSucc, snoc_castSucc, Fin.succ_castSucc, snoc_castSucc, Fin.succ_last, snoc_last]
+ · erw [Equiv.swap_apply_left, snoc_castSuccEmb, snoc_last, Fin.succ_last, snoc_last,
+ snoc_castSuccEmb, snoc_castSuccEmb, Fin.succ_castSuccEmb, snoc_castSuccEmb, Fin.succ_last,
+ snoc_last]
exact hr₂
· refine' Fin.lastCases _ (fun i => _) i
- · erw [Equiv.swap_apply_right, snoc_castSucc, snoc_castSucc, snoc_castSucc,
- Fin.succ_castSucc, snoc_castSucc, Fin.succ_last, snoc_last, snoc_last, Fin.succ_last,
- snoc_last]
+ · erw [Equiv.swap_apply_right, snoc_castSuccEmb, snoc_castSuccEmb, snoc_castSuccEmb,
+ Fin.succ_castSuccEmb, snoc_castSuccEmb, Fin.succ_last, snoc_last, snoc_last,
+ Fin.succ_last, snoc_last]
exact hr₁
- · erw [Equiv.swap_apply_of_ne_of_ne h2 h1, snoc_castSucc, snoc_castSucc, snoc_castSucc,
- snoc_castSucc, Fin.succ_castSucc, snoc_castSucc, Fin.succ_castSucc, snoc_castSucc,
- snoc_castSucc, snoc_castSucc]
+ · erw [Equiv.swap_apply_of_ne_of_ne h2 h1, snoc_castSuccEmb, snoc_castSuccEmb,
+ snoc_castSuccEmb, snoc_castSuccEmb, Fin.succ_castSuccEmb, snoc_castSuccEmb,
+ Fin.succ_castSuccEmb, snoc_castSuccEmb, snoc_castSuccEmb, snoc_castSuccEmb]
exact (s.step i).iso_refl⟩
#align composition_series.equivalent.snoc_snoc_swap CompositionSeries.Equivalent.snoc_snoc_swap
@@ -207,7 +207,7 @@ def toList (s : CompositionSeries X) : List X :=
/-- Two `CompositionSeries` are equal if they are the same length and
have the same `i`th element for every `i` -/
theorem ext_fun {s₁ s₂ : CompositionSeries X} (hl : s₁.length = s₂.length)
- (h : ∀ i, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ hl) i)) : s₁ = s₂ := by
+ (h : ∀ i, s₁ i = s₂ (Fin.castIso (congr_arg Nat.succ hl) i)) : s₁ = s₂ := by
cases s₁; cases s₂
-- Porting note: `dsimp at *` doesn't work. Why?
dsimp at hl h
@@ -229,7 +229,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
have h₁ : s₁.length = s₂.length :=
Nat.succ_injective
((List.length_ofFn s₁).symm.trans <| (congr_arg List.length h).trans <| List.length_ofFn s₂)
- have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.cast (congr_arg Nat.succ h₁) i) :=
+ have h₂ : ∀ i : Fin s₁.length.succ, s₁ i = s₂ (Fin.castIso (congr_arg Nat.succ h₁) i) :=
-- Porting note: `List.nthLe_ofFn` has been deprecated but `List.get_ofFn` has a
-- different type, so we do golf here.
congr_fun <| List.ofFn_injective <| h.trans <| List.ofFn_congr (congr_arg Nat.succ h₁).symm _
@@ -241,7 +241,7 @@ theorem toList_injective : Function.Injective (@CompositionSeries.toList X _ _)
-- Porting note: `[heq_iff_eq, eq_self_iff_true, true_and_iff]`
-- → `[mk.injEq, heq_eq_eq, true_and]`
simp only [mk.injEq, heq_eq_eq, true_and]
- simp only [Fin.cast_refl] at h₂
+ simp only [Fin.castIso_refl] at h₂
exact funext h₂
#align composition_series.to_list_injective CompositionSeries.toList_injective
@@ -20,7 +20,7 @@ import Mathlib.Data.Fintype.Card
This file proves the Jordan Hölder theorem for a `JordanHolderLattice`, a class also defined in
this file. Examples of `JordanHolderLattice` include `Subgroup G` if `G` is a group, and
`Submodule R M` if `M` is an `R`-module. Using this approach the theorem need not be proved
-seperately for both groups and modules, the proof in this file can be applied to both.
+separately for both groups and modules, the proof in this file can be applied to both.
## Main definitions
The main definitions in this file are `JordanHolderLattice` and `CompositionSeries`,
@@ -548,9 +548,9 @@ def snoc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) : Composit
series := Fin.snoc s x
step' i := by
refine' Fin.lastCases _ _ i
- · rwa [Fin.snoc_cast_succ, Fin.succ_last, Fin.snoc_last, ← top]
+ · rwa [Fin.snoc_castSucc, Fin.succ_last, Fin.snoc_last, ← top]
· intro i
- rw [Fin.snoc_cast_succ, ← Fin.castSucc_fin_succ, Fin.snoc_cast_succ]
+ rw [Fin.snoc_castSucc, ← Fin.castSucc_fin_succ, Fin.snoc_castSucc]
exact s.step _
#align composition_series.snoc CompositionSeries.snoc
@@ -569,7 +569,7 @@ theorem snoc_last (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x) :
@[simp]
theorem snoc_castSucc (s : CompositionSeries X) (x : X) (hsat : IsMaximal s.top x)
(i : Fin (s.length + 1)) : snoc s x hsat (Fin.castSucc i) = s i :=
- Fin.snoc_cast_succ (α := fun _ => X) _ _ _
+ Fin.snoc_castSucc (α := fun _ => X) _ _ _
#align composition_series.snoc_cast_succ CompositionSeries.snoc_castSucc
@[simp]
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -414,8 +414,7 @@ theorem bot_eraseTop (s : CompositionSeries X) : s.eraseTop.bot = s.bot :=
theorem mem_eraseTop_of_ne_of_mem {s : CompositionSeries X} {x : X} (hx : x ≠ s.top) (hxs : x ∈ s) :
x ∈ s.eraseTop := by
rcases hxs with ⟨i, rfl⟩
- have hi : (i : ℕ) < (s.length - 1).succ :=
- by
+ have hi : (i : ℕ) < (s.length - 1).succ := by
conv_rhs => rw [← Nat.succ_sub (length_pos_of_mem_ne ⟨i, rfl⟩ s.top_mem hx), Nat.succ_sub_one]
exact lt_of_le_of_ne (Nat.le_of_lt_succ i.2) (by simpa [top, s.inj, Fin.ext_iff] using hx)
refine' ⟨Fin.castSucc i, _⟩
@@ -773,11 +772,8 @@ theorem exists_top_eq_snoc_equivalant (s : CompositionSeries X) (x : X) (hm : Is
(isMaximal_eraseTop_top h0s) hm
use snoc t x hmtx
refine' ⟨by simp [htb], by simp [htl], by simp, _⟩
- have :
- s.Equivalent
- ((snoc t s.eraseTop.top (htt.symm ▸ imxs)).snoc s.top
- (by simpa using isMaximal_eraseTop_top h0s)) :=
- by
+ have : s.Equivalent ((snoc t s.eraseTop.top (htt.symm ▸ imxs)).snoc s.top
+ (by simpa using isMaximal_eraseTop_top h0s)) := by
conv_lhs => rw [eq_snoc_eraseTop h0s]
exact Equivalent.snoc hteqv (by simpa using (isMaximal_eraseTop_top h0s).iso_refl)
refine' this.trans _
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -476,7 +476,6 @@ theorem append_succ_castAdd_aux (i : Fin m) (h : a (Fin.last _) = b 0) :
b ⟨i + 1 - m, by simp [this]⟩ = b 0 := congr_arg b (by simp [Fin.ext_iff, this])
_ = a (Fin.last _) := h.symm
_ = _ := congr_arg a (by simp [Fin.ext_iff, this])
-
#align composition_series.append_succ_cast_add_aux CompositionSeries.append_succ_castAdd_aux
theorem append_natAdd_aux (i : Fin n) :
@@ -145,9 +145,9 @@ namespace CompositionSeries
variable {X : Type u} [Lattice X] [JordanHolderLattice X]
-instance hasCoeFun : CoeFun (CompositionSeries X) fun x => Fin (x.length + 1) → X where
+instance coeFun : CoeFun (CompositionSeries X) fun x => Fin (x.length + 1) → X where
coe := CompositionSeries.series
-#align composition_series.has_coe_to_fun CompositionSeries.hasCoeFun
+#align composition_series.has_coe_to_fun CompositionSeries.coeFun
instance inhabited [Inhabited X] : Inhabited (CompositionSeries X) :=
⟨{ length := 0
@@ -184,9 +184,9 @@ protected theorem inj (s : CompositionSeries X) {i j : Fin s.length.succ} : s i
s.injective.eq_iff
#align composition_series.inj CompositionSeries.inj
-instance hasMembership : Membership X (CompositionSeries X) :=
+instance membership : Membership X (CompositionSeries X) :=
⟨fun x s => x ∈ Set.range s⟩
-#align composition_series.has_mem CompositionSeries.hasMembership
+#align composition_series.has_mem CompositionSeries.membership
theorem mem_def {x : X} {s : CompositionSeries X} : x ∈ s ↔ x ∈ Set.range s :=
Iff.rfl
@@ -199,7 +199,7 @@ theorem total {s : CompositionSeries X} {x y : X} (hx : x ∈ s) (hy : y ∈ s)
exact le_total i j
#align composition_series.total CompositionSeries.total
-/-- The ordered `list X` of elements of a `CompositionSeries X`. -/
+/-- The ordered `List X` of elements of a `CompositionSeries X`. -/
def toList (s : CompositionSeries X) : List X :=
List.ofFn s
#align composition_series.to_list CompositionSeries.toList
@@ -432,8 +432,7 @@ theorem mem_eraseTop {s : CompositionSeries X} {x : X} (h : 0 < s.length) :
conv_rhs => rw [← Nat.succ_sub_one s.length, Nat.succ_sub h]
exact i.2
-- Porting note: Was `simp [top, Fin.ext_iff, ne_of_lt hi]`.
- simp [top, Fin.ext_iff, ne_of_lt hi, -Set.mem_range]
- apply Set.mem_range_self
+ simp [top, Fin.ext_iff, ne_of_lt hi, -Set.mem_range, Set.mem_range_self]
· intro h
exact mem_eraseTop_of_ne_of_mem h.1 h.2
#align composition_series.mem_erase_top CompositionSeries.mem_eraseTop
The unported dependencies are