linear_algebra.finite_dimensional
⟷
Mathlib.LinearAlgebra.FiniteDimensional
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -560,7 +560,7 @@ theorem exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card [FiniteDimen
by
-- Pick an element x₀ ∈ t,
have card_pos : 0 < t.card := lt_trans (Nat.succ_pos _) h
- obtain ⟨x₀, m⟩ := (Finset.card_pos.1 card_pos).bex
+ obtain ⟨x₀, m⟩ := (Finset.card_pos.1 card_pos).exists_mem
-- and apply the previous lemma to the {xᵢ - x₀}
let shift : V ↪ V := ⟨fun x => x - x₀, sub_left_injective⟩
let t' := (t.erase x₀).map shift
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -627,7 +627,7 @@ theorem exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card [FiniteDimen
rw [mem_erase] at x₁_mem
simp only [x₁_mem, sub_add_cancel, Function.Embedding.coeFn_mk]
· dsimp only [f]
- rwa [if_neg, add_sub_cancel]
+ rwa [if_neg, add_sub_cancel_right]
rw [add_left_eq_self]; rintro rfl
simpa only [sub_eq_zero, exists_prop, Finset.mem_map, embedding.coe_fn_mk, eq_self_iff_true,
mem_erase, not_true, exists_eq_right, Ne.def, false_and_iff] using x₁_mem
@@ -675,12 +675,12 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
apply_fun Equiv.finsuppUnique
simp only [LinearEquiv.map_smulₛₗ, Finsupp.coe_smul, Finsupp.single_eq_same,
RingHom.id_apply, smul_eq_mul, Pi.smul_apply, Equiv.finsuppUnique_apply]
- exact div_mul_cancel _ h
+ exact div_mul_cancel₀ _ h
right_inv := fun f => by
ext
simp only [LinearEquiv.map_smulₛₗ, Finsupp.coe_smul, Finsupp.single_eq_same,
RingHom.id_apply, smul_eq_mul, Pi.smul_apply]
- exact mul_div_cancel _ h }
+ exact mul_div_cancel_right₀ _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
-/
@@ -1718,7 +1718,7 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
· have h_ker_lt_ker : (f ^ n).ker < (f ^ n.succ).ker :=
by
refine' lt_of_le_of_ne _ (h_contra n (Nat.le_of_succ_le_succ hn))
- rw [pow_succ]
+ rw [pow_succ']
apply LinearMap.ker_le_ker_comp
have h_finrank_lt_finrank : finrank K (f ^ n).ker < finrank K (f ^ n.succ).ker := by
apply Submodule.finrank_lt_finrank_of_lt h_ker_lt_ker
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -271,7 +271,7 @@ noncomputable def Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι :=
by
have A : Cardinal.mk ι = ↑(FiniteDimensional.finrank K K) :=
(FiniteDimensional.finrank_eq_card_basis' b).symm
- simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, algebraMap.coe_one] at A
+ simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, algebraMap.coe_one] at A
exact Nonempty.some ((unique_iff_subsingleton_and_nonempty _).2 A)
#align basis.unique Basis.unique
-/
@@ -427,7 +427,7 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
rw [← b.span_eq, b_eq, Basis.coe_extend, Subtype.range_coe, ← this, ← Submodule.coeSubtype,
span_image]
have := bS.span_eq
- rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
+ rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
rw [this, map_top (Submodule.subtype S), range_subtype]
#align finite_dimensional.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
-/
@@ -473,7 +473,7 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
(#{ i // p i ≠ ⊥ }) ≤ (finrank K V : Cardinal.{w}) :=
by
suffices Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{v} (finrank K V : Cardinal.{w}) by
- rwa [Cardinal.lift_le] at this
+ rwa [Cardinal.lift_le] at this
calc
Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{w} (Module.rank K V) :=
hp.subtype_ne_bot_le_rank
@@ -491,7 +491,7 @@ noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
by
suffices (#{ i // p i ≠ ⊥ }) < (ℵ₀ : Cardinal.{w})
by
- rw [Cardinal.lt_aleph0_iff_fintype] at this
+ rw [Cardinal.lt_aleph0_iff_fintype] at this
exact this.some
refine' lt_of_le_of_lt hp.subtype_ne_bot_le_finrank_aux _
simp [Cardinal.nat_lt_aleph0]
@@ -524,7 +524,7 @@ theorem exists_nontrivial_relation_of_finrank_lt_card [FiniteDimensional K V] {t
(h : finrank K V < t.card) : ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
have := mt finset_card_le_finrank_of_linear_independent (by simpa using h)
- rw [not_linearIndependent_iff] at this
+ rw [not_linearIndependent_iff] at this
obtain ⟨s, g, sum, z, zm, nonzero⟩ := this
-- Now we have to extend `g` to all of `t`, then to all of `V`.
let f : V → K := fun x => if h : x ∈ t then if (⟨x, h⟩ : t) ∈ s then g ⟨x, h⟩ else 0 else 0
@@ -534,7 +534,7 @@ theorem exists_nontrivial_relation_of_finrank_lt_card [FiniteDimensional K V] {t
rw [← Sum]
fapply sum_bij_ne_zero fun v hvt _ => (⟨v, hvt⟩ : { v // v ∈ t })
· intro v hvt H; dsimp
- rw [dif_pos hvt] at H
+ rw [dif_pos hvt] at H
contrapose! H
rw [if_neg H, zero_smul]
· intro _ _ _ _ _ _; exact Subtype.mk.inj
@@ -622,9 +622,9 @@ theorem exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card [FiniteDimen
· show ∃ (x : V) (H : x ∈ t), f x ≠ 0
-- We can use x₁ + x₀.
refine' ⟨x₁ + x₀, _, _⟩
- · rw [Finset.mem_map] at x₁_mem
+ · rw [Finset.mem_map] at x₁_mem
rcases x₁_mem with ⟨x₁, x₁_mem, rfl⟩
- rw [mem_erase] at x₁_mem
+ rw [mem_erase] at x₁_mem
simp only [x₁_mem, sub_add_cancel, Function.Embedding.coeFn_mk]
· dsimp only [f]
rwa [if_neg, add_sub_cancel]
@@ -876,7 +876,7 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
finrank K (V ⧸ s) + finrank K s = finrank K V :=
by
have := rank_quotient_add_rank s
- rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
+ rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
exact_mod_cast this
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
-/
@@ -900,8 +900,8 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
by
have key : Module.rank K ↥(s ⊔ t) + Module.rank K ↥(s ⊓ t) = Module.rank K s + Module.rank K t :=
rank_sup_add_rank_inf_eq s t
- repeat' rw [← finrank_eq_rank] at key
- norm_cast at key
+ repeat' rw [← finrank_eq_rank] at key
+ norm_cast at key
exact key
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
-/
@@ -919,7 +919,7 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
by
have h_finrank_inf : finrank K ↥(s ⊓ t) = 0 :=
by
- rw [disjoint_iff_inf_le, le_bot_iff] at hdisjoint
+ rw [disjoint_iff_inf_le, le_bot_iff] at hdisjoint
rw [hdisjoint, finrank_bot]
apply eq_top_of_finrank_eq
rw [← hdim]
@@ -978,7 +978,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
- rw [← LinearEquiv.finrank_eq (Submodule.comapSubtypeEquivOfLe hle)] at hd
+ rw [← LinearEquiv.finrank_eq (Submodule.comapSubtypeEquivOfLe hle)] at hd
exact
le_antisymm hle
(Submodule.comap_subtype_eq_top.1
@@ -1040,7 +1040,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
have h := rank_range_of_injective _ hinj
- rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
+ rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
-/
@@ -1090,7 +1090,7 @@ theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (
let ⟨i, hi⟩ :=
g.exists_rightInverse_of_surjective (range_eq_top.2 (injective_iff_surjective.1 ginj))
have : f * (g * i) = f * 1 := congr_arg _ hi
- rw [← mul_assoc, hfg, one_mul, mul_one] at this <;> rwa [← this]
+ rw [← mul_assoc, hfg, one_mul, mul_one] at this <;> rwa [← this]
#align linear_map.mul_eq_one_of_mul_eq_one LinearMap.mul_eq_one_of_mul_eq_one
-/
@@ -1174,7 +1174,7 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
constructor
· rintro ⟨u, rfl⟩
exact LinearMap.ker_eq_bot_of_inverse u.inv_mul
- · intro h_inj; rw [ker_eq_bot] at h_inj
+ · intro h_inj; rw [ker_eq_bot] at h_inj
exact
⟨⟨f, (LinearEquiv.ofInjectiveEndo f h_inj).symm.toLinearMap,
LinearEquiv.ofInjectiveEndo_right_inv f h_inj,
@@ -1226,8 +1226,8 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
by
have := finrank_range_add_finrank_ker f
rw [← ker_eq_bot, ← range_eq_top]; refine' ⟨fun h => _, fun h => _⟩
- · rw [h, finrank_bot, add_zero, H] at this ; exact eq_top_of_finrank_eq this
- · rw [h, finrank_top, H] at this ; exact Submodule.finrank_eq_zero.1 (add_right_injective _ this)
+ · rw [h, finrank_bot, add_zero, H] at this; exact eq_top_of_finrank_eq this
+ · rw [h, finrank_top, H] at this; exact Submodule.finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
-/
@@ -1690,7 +1690,7 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
have : 0 < finrank F S := finrank_pos_iff.mpr inferInstance
interval_cases
· left; exact Subalgebra.eq_bot_of_finrank_one h
- · right; rw [← hr] at h
+ · right; rw [← hr] at h
rw [← Algebra.toSubmodule_eq_top]
exact Submodule.eq_top_of_finrank_eq h }
#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrank
@@ -1709,7 +1709,7 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
classical
by_contra h_contra
- simp_rw [not_exists, not_and] at h_contra
+ simp_rw [not_exists, not_and] at h_contra
have h_le_ker_pow : ∀ n : ℕ, n ≤ (finrank K V).succ → n ≤ finrank K (f ^ n).ker :=
by
intro n hn
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1379,10 +1379,10 @@ end Span
section Basis
-#print span_eq_top_of_linearIndependent_of_card_eq_finrank /-
-theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι : Nonempty ι]
- [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
- (card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ :=
+#print LinearIndependent.span_eq_top_of_card_eq_finrank /-
+theorem LinearIndependent.span_eq_top_of_card_eq_finrank {ι : Type _} [hι : Nonempty ι] [Fintype ι]
+ {b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
+ span K (Set.range b) = ⊤ :=
by
by_cases fin : FiniteDimensional K V
· haveI := Fin
@@ -1396,7 +1396,7 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
calc
Fintype.card ι = finrank K V := card_eq
_ = 0 := dif_neg (mt is_noetherian.iff_rank_lt_aleph_0.mpr Fin)
-#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
+#align span_eq_top_of_linear_independent_of_card_eq_finrank LinearIndependent.span_eq_top_of_card_eq_finrank
-/
#print basisOfLinearIndependentOfCardEqFinrank /-
@@ -1405,7 +1405,7 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
Basis ι K V :=
- Basis.mk lin_ind <| (span_eq_top_of_linearIndependent_of_card_eq_finrank lin_ind card_eq).ge
+ Basis.mk lin_ind <| (LinearIndependent.span_eq_top_of_card_eq_finrank lin_ind card_eq).ge
#align basis_of_linear_independent_of_card_eq_finrank basisOfLinearIndependentOfCardEqFinrank
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -224,26 +224,24 @@ theorem finrank_of_infinite_dimensional (h : ¬FiniteDimensional K V) : finrank
#align finite_dimensional.finrank_of_infinite_dimensional FiniteDimensional.finrank_of_infinite_dimensional
-/
-#print FiniteDimensional.finiteDimensional_of_finrank /-
-theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V := by
- contrapose h; simp [finrank_of_infinite_dimensional h]
-#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.finiteDimensional_of_finrank
+#print FiniteDimensional.of_finrank_pos /-
+theorem of_finrank_pos (h : 0 < finrank K V) : FiniteDimensional K V := by contrapose h;
+ simp [finrank_of_infinite_dimensional h]
+#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.of_finrank_pos
-/
-#print FiniteDimensional.finiteDimensional_of_finrank_eq_succ /-
-theorem finiteDimensional_of_finrank_eq_succ {n : ℕ} (hn : finrank K V = n.succ) :
- FiniteDimensional K V :=
- finiteDimensional_of_finrank <| by rw [hn] <;> exact n.succ_pos
-#align finite_dimensional.finite_dimensional_of_finrank_eq_succ FiniteDimensional.finiteDimensional_of_finrank_eq_succ
+#print FiniteDimensional.of_finrank_eq_succ /-
+theorem of_finrank_eq_succ {n : ℕ} (hn : finrank K V = n.succ) : FiniteDimensional K V :=
+ of_finrank_pos <| by rw [hn] <;> exact n.succ_pos
+#align finite_dimensional.finite_dimensional_of_finrank_eq_succ FiniteDimensional.of_finrank_eq_succ
-/
-#print FiniteDimensional.fact_finiteDimensional_of_finrank_eq_succ /-
+#print FiniteDimensional.of_fact_finrank_eq_succ /-
/-- We can infer `finite_dimensional K V` in the presence of `[fact (finrank K V = n + 1)]`. Declare
this as a local instance where needed. -/
-theorem fact_finiteDimensional_of_finrank_eq_succ (n : ℕ) [Fact (finrank K V = n + 1)] :
- FiniteDimensional K V :=
- finiteDimensional_of_finrank <| by convert Nat.succ_pos n <;> apply Fact.out
-#align finite_dimensional.fact_finite_dimensional_of_finrank_eq_succ FiniteDimensional.fact_finiteDimensional_of_finrank_eq_succ
+theorem of_fact_finrank_eq_succ (n : ℕ) [Fact (finrank K V = n + 1)] : FiniteDimensional K V :=
+ of_finrank_pos <| by convert Nat.succ_pos n <;> apply Fact.out
+#align finite_dimensional.fact_finite_dimensional_of_finrank_eq_succ FiniteDimensional.of_fact_finrank_eq_succ
-/
#print FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul /-
@@ -713,26 +711,26 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
-#print finiteDimensional_of_rank_eq_nat /-
-theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
+#print FiniteDimensional.of_rank_eq_nat /-
+theorem FiniteDimensional.of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
FiniteDimensional K V :=
by
rw [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, h]
exact nat_lt_aleph_0 n
-#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_nat
+#align finite_dimensional_of_rank_eq_nat FiniteDimensional.of_rank_eq_nat
-/
-#print finiteDimensional_of_rank_eq_zero /-
+#print FiniteDimensional.of_rank_eq_zero /-
-- TODO: generalize to free modules over general rings.
-theorem finiteDimensional_of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
- finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_zero.symm
-#align finite_dimensional_of_rank_eq_zero finiteDimensional_of_rank_eq_zero
+theorem FiniteDimensional.of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
+ FiniteDimensional.of_rank_eq_nat <| h.trans Nat.cast_zero.symm
+#align finite_dimensional_of_rank_eq_zero FiniteDimensional.of_rank_eq_zero
-/
-#print finiteDimensional_of_rank_eq_one /-
-theorem finiteDimensional_of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
- finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_one.symm
-#align finite_dimensional_of_rank_eq_one finiteDimensional_of_rank_eq_one
+#print FiniteDimensional.of_rank_eq_one /-
+theorem FiniteDimensional.of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
+ FiniteDimensional.of_rank_eq_nat <| h.trans Nat.cast_one.symm
+#align finite_dimensional_of_rank_eq_one FiniteDimensional.of_rank_eq_one
-/
#print FiniteDimensional.finrank_eq_zero_of_rank_eq_zero /-
@@ -748,7 +746,7 @@ variable (K V)
#print finiteDimensional_bot /-
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
- finiteDimensional_of_rank_eq_zero <| by simp
+ FiniteDimensional.of_rank_eq_zero <| by simp
#align finite_dimensional_bot finiteDimensional_bot
-/
@@ -757,7 +755,7 @@ variable {K V}
#print Submodule.bot_eq_top_of_rank_eq_zero /-
theorem Submodule.bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
by
- haveI := finiteDimensional_of_rank_eq_zero h
+ haveI := FiniteDimensional.of_rank_eq_zero h
apply eq_top_of_finrank_eq
rw [finrank_bot, FiniteDimensional.finrank_eq_zero_of_rank_eq_zero h]
#align bot_eq_top_of_rank_eq_zero Submodule.bot_eq_top_of_rank_eq_zero
@@ -1614,7 +1612,7 @@ instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
#print Subalgebra.finiteDimensional_bot /-
instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) := by
- nontriviality E; exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
+ nontriviality E; exact FiniteDimensional.of_rank_eq_one Subalgebra.rank_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
-/
@@ -1623,7 +1621,7 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
by
nontriviality E
obtain ⟨m, hm, he⟩ := Cardinal.exists_nat_eq_of_le_nat (h.trans_eq nat.cast_one.symm)
- haveI := finiteDimensional_of_rank_eq_nat he
+ haveI := FiniteDimensional.of_rank_eq_nat he
rw [← not_bot_lt_iff, ← subalgebra.to_submodule.lt_iff_lt]
haveI := S.to_submodule_equiv.symm.FiniteDimensional
refine' fun hl => (Submodule.finrank_lt_finrank_of_lt hl).not_le (nat_cast_le.1 _)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1708,7 +1708,31 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
#print Module.End.exists_ker_pow_eq_ker_pow_succ /-
theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
- ∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by classical
+ ∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
+ classical
+ by_contra h_contra
+ simp_rw [not_exists, not_and] at h_contra
+ have h_le_ker_pow : ∀ n : ℕ, n ≤ (finrank K V).succ → n ≤ finrank K (f ^ n).ker :=
+ by
+ intro n hn
+ induction' n with n ih
+ · exact zero_le (finrank _ _)
+ · have h_ker_lt_ker : (f ^ n).ker < (f ^ n.succ).ker :=
+ by
+ refine' lt_of_le_of_ne _ (h_contra n (Nat.le_of_succ_le_succ hn))
+ rw [pow_succ]
+ apply LinearMap.ker_le_ker_comp
+ have h_finrank_lt_finrank : finrank K (f ^ n).ker < finrank K (f ^ n.succ).ker := by
+ apply Submodule.finrank_lt_finrank_of_lt h_ker_lt_ker
+ calc
+ n.succ ≤ (finrank K ↥(LinearMap.ker (f ^ n))).succ :=
+ Nat.succ_le_succ (ih (Nat.le_of_succ_le hn))
+ _ ≤ finrank K ↥(LinearMap.ker (f ^ n.succ)) := Nat.succ_le_of_lt h_finrank_lt_finrank
+ have h_le_finrank_V : ∀ n, finrank K (f ^ n).ker ≤ finrank K V := fun n => Submodule.finrank_le _
+ have h_any_n_lt : ∀ n, n ≤ (finrank K V).succ → n ≤ finrank K V := fun n hn =>
+ (h_le_ker_pow n hn).trans (h_le_finrank_V n)
+ show False
+ exact Nat.not_succ_le_self _ (h_any_n_lt (finrank K V).succ (finrank K V).succ.le_refl)
#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succ
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1708,31 +1708,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
#print Module.End.exists_ker_pow_eq_ker_pow_succ /-
theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
- ∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
- classical
- by_contra h_contra
- simp_rw [not_exists, not_and] at h_contra
- have h_le_ker_pow : ∀ n : ℕ, n ≤ (finrank K V).succ → n ≤ finrank K (f ^ n).ker :=
- by
- intro n hn
- induction' n with n ih
- · exact zero_le (finrank _ _)
- · have h_ker_lt_ker : (f ^ n).ker < (f ^ n.succ).ker :=
- by
- refine' lt_of_le_of_ne _ (h_contra n (Nat.le_of_succ_le_succ hn))
- rw [pow_succ]
- apply LinearMap.ker_le_ker_comp
- have h_finrank_lt_finrank : finrank K (f ^ n).ker < finrank K (f ^ n.succ).ker := by
- apply Submodule.finrank_lt_finrank_of_lt h_ker_lt_ker
- calc
- n.succ ≤ (finrank K ↥(LinearMap.ker (f ^ n))).succ :=
- Nat.succ_le_succ (ih (Nat.le_of_succ_le hn))
- _ ≤ finrank K ↥(LinearMap.ker (f ^ n.succ)) := Nat.succ_le_of_lt h_finrank_lt_finrank
- have h_le_finrank_V : ∀ n, finrank K (f ^ n).ker ≤ finrank K V := fun n => Submodule.finrank_le _
- have h_any_n_lt : ∀ n, n ≤ (finrank K V).succ → n ≤ finrank K V := fun n hn =>
- (h_le_ker_pow n hn).trans (h_le_finrank_V n)
- show False
- exact Nat.not_succ_le_self _ (h_any_n_lt (finrank K V).succ (finrank K V).succ.le_refl)
+ ∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by classical
#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succ
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -808,7 +808,7 @@ theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
haveI : IsNoetherian K S₂ := iff_fg.2 inferInstance
iff_fg.1
(IsNoetherian.iff_rank_lt_aleph0.2
- (lt_of_le_of_lt (rank_le_of_submodule _ _ h) (FiniteDimensional.rank_lt_aleph0 K S₂)))
+ (lt_of_le_of_lt (rank_le_of_submodule _ _ h) (rank_lt_aleph0 K S₂)))
#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_le
-/
@@ -1807,7 +1807,7 @@ theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K]
by
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
- exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
+ exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (rank_lt_aleph0 K V)
#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensional
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -415,10 +415,11 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
(by simpa using bS.linear_independent) (by simp)
set b := Basis.extend this with b_eq
letI : Fintype (this.extend _) :=
- (finite_of_linearIndependent (by simpa using b.linear_independent)).Fintype
- letI : Fintype (coe '' Basis.ofVectorSpaceIndex K S) := (finite_of_linearIndependent this).Fintype
+ (LinearIndependent.set_finite_of_isNoetherian (by simpa using b.linear_independent)).Fintype
+ letI : Fintype (coe '' Basis.ofVectorSpaceIndex K S) :=
+ (LinearIndependent.set_finite_of_isNoetherian this).Fintype
letI : Fintype (Basis.ofVectorSpaceIndex K S) :=
- (finite_of_linearIndependent (by simpa using bS.linear_independent)).Fintype
+ (LinearIndependent.set_finite_of_isNoetherian (by simpa using bS.linear_independent)).Fintype
have : coe '' Basis.ofVectorSpaceIndex K S = this.extend (Set.subset_univ _) :=
Set.eq_of_subset_of_card_le (this.subset_extend _)
(by
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -317,48 +317,48 @@ theorem FiniteDimensional.basisUnique_repr_eq_zero_iff {ι : Type _} [Unique ι]
#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique_repr_eq_zero_iff
-/
-#print FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent /-
-theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
+#print LinearIndependent.cardinal_mk_le_finrank /-
+theorem cardinal_mk_le_finrank [FiniteDimensional K V] {ι : Type w} {b : ι → V}
(h : LinearIndependent K b) : (#ι) ≤ finrank K V :=
by
rw [← lift_le.{_, max v w}]
simpa [← finrank_eq_rank', -finrank_eq_rank] using
- cardinal_lift_le_rank_of_linearIndependent.{_, _, _, max v w} h
-#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
+ LinearIndependent.cardinal_lift_le_rank.{_, _, _, max v w} h
+#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent LinearIndependent.cardinal_mk_le_finrank
-/
-#print FiniteDimensional.fintype_card_le_finrank_of_linearIndependent /-
-theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type _}
- [Fintype ι] {b : ι → V} (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
+#print LinearIndependent.fintype_card_le_finrank /-
+theorem fintype_card_le_finrank [FiniteDimensional K V] {ι : Type _} [Fintype ι] {b : ι → V}
+ (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
simpa using cardinal_mk_le_finrank_of_linear_independent h
-#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependent
+#align finite_dimensional.fintype_card_le_finrank_of_linear_independent LinearIndependent.fintype_card_le_finrank
-/
-#print FiniteDimensional.finset_card_le_finrank_of_linearIndependent /-
-theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b : Finset V}
+#print LinearIndependent.finset_card_le_finrank /-
+theorem finset_card_le_finrank [FiniteDimensional K V] {b : Finset V}
(h : LinearIndependent K (fun x => x : b → V)) : b.card ≤ finrank K V :=
by
rw [← Fintype.card_coe]
exact fintype_card_le_finrank_of_linear_independent h
-#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
+#align finite_dimensional.finset_card_le_finrank_of_linear_independent LinearIndependent.finset_card_le_finrank
-/
-#print FiniteDimensional.lt_aleph0_of_linearIndependent /-
-theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
+#print LinearIndependent.lt_aleph0_of_finiteDimensional /-
+theorem lt_aleph0_of_finiteDimensional {ι : Type w} [FiniteDimensional K V] {v : ι → V}
(h : LinearIndependent K v) : (#ι) < ℵ₀ :=
by
apply Cardinal.lift_lt.1
apply lt_of_le_of_lt
- apply cardinal_lift_le_rank_of_linearIndependent h
+ apply LinearIndependent.cardinal_lift_le_rank h
rw [← finrank_eq_rank, Cardinal.lift_aleph0, Cardinal.lift_natCast]
apply Cardinal.nat_lt_aleph0
-#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
+#align finite_dimensional.lt_aleph_0_of_linear_independent LinearIndependent.lt_aleph0_of_finiteDimensional
-/
#print LinearIndependent.setFinite /-
theorem LinearIndependent.setFinite [FiniteDimensional K V] {b : Set V}
(h : LinearIndependent K fun x : b => (x : V)) : b.Finite :=
- Cardinal.lt_aleph0_iff_set_finite.mp (FiniteDimensional.lt_aleph0_of_linearIndependent h)
+ Cardinal.lt_aleph0_iff_set_finite.mp (LinearIndependent.lt_aleph0_of_finiteDimensional h)
#align linear_independent.finite LinearIndependent.setFinite
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -307,14 +307,14 @@ noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) :
#align finite_dimensional.basis_unique FiniteDimensional.basisUnique
-/
-#print FiniteDimensional.basisUnique.repr_eq_zero_iff /-
+#print FiniteDimensional.basisUnique_repr_eq_zero_iff /-
@[simp]
-theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
- (basisUnique ι h).repr v i = 0 ↔ v = 0 :=
+theorem FiniteDimensional.basisUnique_repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1}
+ {v : V} {i : ι} : (basisUnique ι h).repr v i = 0 ↔ v = 0 :=
⟨fun hv =>
(basisUnique ι h).repr.map_eq_zero_iff.mp (Finsupp.ext fun j => Subsingleton.elim i j ▸ hv),
fun hv => by rw [hv, LinearEquiv.map_zero, Finsupp.zero_apply]⟩
-#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iff
+#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique_repr_eq_zero_iff
-/
#print FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent /-
@@ -355,22 +355,22 @@ theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
-/
-#print LinearIndependent.finite /-
-theorem LinearIndependent.finite [FiniteDimensional K V] {b : Set V}
+#print LinearIndependent.setFinite /-
+theorem LinearIndependent.setFinite [FiniteDimensional K V] {b : Set V}
(h : LinearIndependent K fun x : b => (x : V)) : b.Finite :=
Cardinal.lt_aleph0_iff_set_finite.mp (FiniteDimensional.lt_aleph0_of_linearIndependent h)
-#align linear_independent.finite LinearIndependent.finite
+#align linear_independent.finite LinearIndependent.setFinite
-/
-#print FiniteDimensional.not_linearIndependent_of_infinite /-
-theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [FiniteDimensional K V]
- (v : ι → V) : ¬LinearIndependent K v :=
+#print Module.Finite.not_linearIndependent_of_infinite /-
+theorem Module.Finite.not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι]
+ [FiniteDimensional K V] (v : ι → V) : ¬LinearIndependent K v :=
by
intro h_lin_indep
have : ¬ℵ₀ ≤ (#ι) := not_le.mpr (lt_aleph_0_of_linear_independent h_lin_indep)
have : ℵ₀ ≤ (#ι) := infinite_iff.mp inf
contradiction
-#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
+#align finite_dimensional.not_linear_independent_of_infinite Module.Finite.not_linearIndependent_of_infinite
-/
#print FiniteDimensional.finrank_pos_iff_exists_ne_zero /-
@@ -517,11 +517,11 @@ open scoped BigOperators
open Finset
-#print FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card /-
+#print Module.exists_nontrivial_relation_of_finrank_lt_card /-
/-- If a finset has cardinality larger than the dimension of the space,
then there is a nontrivial linear relation amongst its elements.
-/
-theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t : Finset V}
+theorem exists_nontrivial_relation_of_finrank_lt_card [FiniteDimensional K V] {t : Finset V}
(h : finrank K V < t.card) : ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
have := mt finset_card_le_finrank_of_linear_independent (by simpa using h)
@@ -547,15 +547,15 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
intro h₂; rw [if_pos]; contrapose! h₂
rw [if_neg h₂, zero_smul]
· refine' ⟨z, z.2, _⟩; dsimp only [f]; erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
-#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
+#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card Module.exists_nontrivial_relation_of_finrank_lt_card
-/
-#print FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card /-
+#print Module.exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card /-
/-- If a finset has cardinality larger than `finrank + 1`,
then there is a nontrivial linear relation amongst its elements,
such that the coefficients of the relation sum to zero.
-/
-theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensional K V]
+theorem exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card [FiniteDimensional K V]
{t : Finset V} (h : finrank K V + 1 < t.card) :
∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
@@ -632,7 +632,7 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
rw [add_left_eq_self]; rintro rfl
simpa only [sub_eq_zero, exists_prop, Finset.mem_map, embedding.coe_fn_mk, eq_self_iff_true,
mem_erase, not_true, exists_eq_right, Ne.def, false_and_iff] using x₁_mem
-#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card
+#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card Module.exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card
-/
section
@@ -641,18 +641,18 @@ variable {L : Type _} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
-#print FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card /-
+#print FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_finrank_succ_lt_card /-
/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
available when working over an ordered field:
we can ensure a positive coefficient, not just a nonzero coefficient.
-/
-theorem exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card [FiniteDimensional L W]
+theorem exists_relation_sum_zero_pos_coefficient_of_finrank_succ_lt_card [FiniteDimensional L W]
{t : Finset W} (h : finrank L W + 1 < t.card) :
∃ f : W → L, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, 0 < f x :=
by
obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card h
exact ⟨f, Sum, Total, exists_pos_of_sum_zero_of_exists_nonzero f Total nonzero⟩
-#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card
+#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_finrank_succ_lt_card
-/
end
@@ -665,7 +665,7 @@ end
noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
(hv : v ≠ 0) : Basis ι K V :=
let b := basisUnique ι h
- let h : b.repr v default ≠ 0 := mt basisUnique.repr_eq_zero_iff.mp hv
+ let h : b.repr v default ≠ 0 := mt FiniteDimensional.basisUnique_repr_eq_zero_iff.mp hv
Basis.ofRepr
{ toFun := fun w => Finsupp.single default (b.repr w default / b.repr v default)
invFun := fun f => f default • v
@@ -734,12 +734,13 @@ theorem finiteDimensional_of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimen
#align finite_dimensional_of_rank_eq_one finiteDimensional_of_rank_eq_one
-/
-#print finrank_eq_zero_of_rank_eq_zero /-
-theorem finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V] (h : Module.rank K V = 0) :
- finrank K V = 0 := by
+#print FiniteDimensional.finrank_eq_zero_of_rank_eq_zero /-
+theorem FiniteDimensional.finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V]
+ (h : Module.rank K V = 0) : finrank K V = 0 :=
+ by
convert finrank_eq_rank K V
rw [h]; norm_cast
-#align finrank_eq_zero_of_rank_eq_zero finrank_eq_zero_of_rank_eq_zero
+#align finrank_eq_zero_of_rank_eq_zero FiniteDimensional.finrank_eq_zero_of_rank_eq_zero
-/
variable (K V)
@@ -752,32 +753,33 @@ instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
variable {K V}
-#print bot_eq_top_of_rank_eq_zero /-
-theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
+#print Submodule.bot_eq_top_of_rank_eq_zero /-
+theorem Submodule.bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
by
haveI := finiteDimensional_of_rank_eq_zero h
apply eq_top_of_finrank_eq
- rw [finrank_bot, finrank_eq_zero_of_rank_eq_zero h]
-#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zero
+ rw [finrank_bot, FiniteDimensional.finrank_eq_zero_of_rank_eq_zero h]
+#align bot_eq_top_of_rank_eq_zero Submodule.bot_eq_top_of_rank_eq_zero
-/
-#print rank_eq_zero /-
+#print Submodule.rank_eq_zero /-
@[simp]
-theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
+theorem Submodule.rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
⟨fun h =>
(Submodule.eq_bot_iff _).2 fun x hx =>
congr_arg Subtype.val <|
- ((Submodule.eq_bot_iff _).1 <| Eq.symm <| bot_eq_top_of_rank_eq_zero h) ⟨x, hx⟩
+ ((Submodule.eq_bot_iff _).1 <| Eq.symm <| Submodule.bot_eq_top_of_rank_eq_zero h) ⟨x, hx⟩
Submodule.mem_top,
fun h => by rw [h, rank_bot]⟩
-#align rank_eq_zero rank_eq_zero
+#align rank_eq_zero Submodule.rank_eq_zero
-/
-#print finrank_eq_zero /-
+#print Submodule.finrank_eq_zero /-
@[simp]
-theorem finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] : finrank K S = 0 ↔ S = ⊥ := by
- rw [← rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
-#align finrank_eq_zero finrank_eq_zero
+theorem Submodule.finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] :
+ finrank K S = 0 ↔ S = ⊥ := by
+ rw [← Submodule.rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
+#align finrank_eq_zero Submodule.finrank_eq_zero
-/
end ZeroRank
@@ -1226,7 +1228,7 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
have := finrank_range_add_finrank_ker f
rw [← ker_eq_bot, ← range_eq_top]; refine' ⟨fun h => _, fun h => _⟩
· rw [h, finrank_bot, add_zero, H] at this ; exact eq_top_of_finrank_eq this
- · rw [h, finrank_top, H] at this ; exact finrank_eq_zero.1 (add_right_injective _ this)
+ · rw [h, finrank_top, H] at this ; exact Submodule.finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1571,7 +1571,7 @@ theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K
[IsScalarTower K A V] (h : finrank K V = 1) : IsSimpleOrder (Submodule A V) :=
by
haveI := nontrivial_of_finrank_eq_succ h
- refine' ⟨fun S => or_iff_not_imp_left.2 fun hn => _⟩
+ refine' ⟨fun S => Classical.or_iff_not_imp_left.2 fun hn => _⟩
rw [← restrict_scalars_inj K] at hn ⊢
haveI := finite_dimensional_of_finrank_eq_succ h
refine' eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2019 Chris Hughes. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
-/
-import Mathbin.Algebra.Algebra.Subalgebra.Basic
-import Mathbin.FieldTheory.Finiteness
-import Mathbin.LinearAlgebra.FreeModule.Finite.Rank
-import Mathbin.Tactic.IntervalCases
+import Algebra.Algebra.Subalgebra.Basic
+import FieldTheory.Finiteness
+import LinearAlgebra.FreeModule.Finite.Rank
+import Tactic.IntervalCases
#align_import linear_algebra.finite_dimensional from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -1597,8 +1597,8 @@ theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
-/
-alias Subalgebra.finiteDimensional_toSubmodule ↔ FiniteDimensional.of_subalgebra_toSubmodule
- FiniteDimensional.subalgebra_toSubmodule
+alias ⟨FiniteDimensional.of_subalgebra_toSubmodule, FiniteDimensional.subalgebra_toSubmodule⟩ :=
+ Subalgebra.finiteDimensional_toSubmodule
#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmodule
#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmodule
@@ -1667,10 +1667,10 @@ theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_one
-/
-alias Subalgebra.bot_eq_top_iff_rank_eq_one ↔ _ Subalgebra.bot_eq_top_of_rank_eq_one
+alias ⟨_, Subalgebra.bot_eq_top_of_rank_eq_one⟩ := Subalgebra.bot_eq_top_iff_rank_eq_one
#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
-alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_finrank_eq_one
+alias ⟨_, Subalgebra.bot_eq_top_of_finrank_eq_one⟩ := Subalgebra.bot_eq_top_iff_finrank_eq_one
#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_one
attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
mathlib commit https://github.com/leanprover-community/mathlib/commit/48a058d7e39a80ed56858505719a0b2197900999
@@ -402,7 +402,7 @@ theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingle
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
-/
-#print FiniteDimensional.eq_top_of_finrank_eq /-
+#print Submodule.eq_top_of_finrank_eq /-
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
@@ -430,7 +430,7 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
have := bS.span_eq
rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
rw [this, map_top (Submodule.subtype S), range_subtype]
-#align finite_dimensional.eq_top_of_finrank_eq FiniteDimensional.eq_top_of_finrank_eq
+#align finite_dimensional.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
-/
variable (K)
@@ -1305,6 +1305,8 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+/- warning: submodule.eq_top_of_finrank_eq clashes with finite_dimensional.eq_top_of_finrank_eq -> Submodule.eq_top_of_finrank_eq
+Case conversion may be inaccurate. Consider using '#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eqₓ'. -/
#print Submodule.eq_top_of_finrank_eq /-
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
(h : finrank K S = finrank K V) : S = ⊤ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/48a058d7e39a80ed56858505719a0b2197900999
@@ -1038,7 +1038,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
- have h := rank_eq_of_injective _ hinj
+ have h := rank_range_of_injective _ hinj
rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
mathlib commit https://github.com/leanprover-community/mathlib/commit/63721b2c3eba6c325ecf8ae8cca27155a4f6306f
@@ -1360,7 +1360,7 @@ theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1
apply le_antisymm
· exact finrank_span_le_card ({v} : Set V)
· rw [Nat.succ_le_iff, finrank_pos_iff]
- use ⟨v, mem_span_singleton_self v⟩, 0
+ use⟨v, mem_span_singleton_self v⟩, 0
simp [hv]
#align finrank_span_singleton finrank_span_singleton
-/
@@ -1526,7 +1526,7 @@ theorem finrank_le_one_iff [FiniteDimensional K V] :
· use 0; intro w; use 0; haveI := finrank_zero_iff.mp h'; apply Subsingleton.elim
· replace h' := zero_lt_iff.mpr h'; have : finrank K V = 1 := by linarith
obtain ⟨v, -, p⟩ := finrank_eq_one_iff'.mp this
- use ⟨v, p⟩
+ use⟨v, p⟩
· rintro ⟨v, p⟩
exact finrank_le_one v p
#align finrank_le_one_iff finrank_le_one_iff
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2019 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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Algebra.Subalgebra.Basic
import Mathbin.FieldTheory.Finiteness
import Mathbin.LinearAlgebra.FreeModule.Finite.Rank
import Mathbin.Tactic.IntervalCases
+#align_import linear_algebra.finite_dimensional from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
/-!
# Finite dimensional vector spaces
mathlib commit https://github.com/leanprover-community/mathlib/commit/728ef9dbb281241906f25cbeb30f90d83e0bb451
@@ -296,7 +296,7 @@ noncomputable def finBasis [FiniteDimensional K V] : Basis (Fin (finrank K V)) K
/-- An `n`-dimensional vector space has a basis indexed by `fin n`. -/
noncomputable def finBasisOfFinrankEq [FiniteDimensional K V] {n : ℕ} (hn : finrank K V = n) :
Basis (Fin n) K V :=
- (finBasis K V).reindex (Fin.cast hn).toEquiv
+ (finBasis K V).reindex (Fin.castIso hn).toEquiv
#align finite_dimensional.fin_basis_of_finrank_eq FiniteDimensional.finBasisOfFinrankEq
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -107,18 +107,22 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print FiniteDimensional.of_injective /-
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
FiniteDimensional K V :=
have : IsNoetherian K V₂ := IsNoetherian.iff_fg.mpr ‹_›
Module.Finite.of_injective f w
#align finite_dimensional.of_injective FiniteDimensional.of_injective
+-/
+#print FiniteDimensional.of_surjective /-
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
FiniteDimensional K V₂ :=
Module.Finite.of_surjective f w
#align finite_dimensional.of_surjective FiniteDimensional.of_surjective
+-/
variable (K V)
@@ -207,11 +211,13 @@ instance finiteDimensional_quotient [FiniteDimensional K V] (S : Submodule K V)
variable (K V)
+#print FiniteDimensional.finrank_eq_rank' /-
/-- In a finite-dimensional space, its dimension (seen as a cardinal) coincides with its
`finrank`. This is a copy of `finrank_eq_rank _ _` which creates easier typeclass searches. -/
theorem finrank_eq_rank' [FiniteDimensional K V] : (finrank K V : Cardinal.{v}) = Module.rank K V :=
finrank_eq_rank _ _
#align finite_dimensional.finrank_eq_rank' FiniteDimensional.finrank_eq_rank'
+-/
variable {K V}
@@ -252,6 +258,7 @@ theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W]
#align finite_dimensional.finite_dimensional_iff_of_rank_eq_nsmul FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul
-/
+#print FiniteDimensional.finrank_eq_card_basis' /-
/-- If a vector space is finite-dimensional, then the cardinality of any basis is equal to its
`finrank`. -/
theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis ι K V) :
@@ -261,6 +268,7 @@ theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis
haveI : Fintype ι := fintype_basis_index h
rw [Cardinal.mk_fintype, finrank_eq_card_basis h]
#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'
+-/
#print Basis.unique /-
/-- Given a basis of a division ring over itself indexed by a type `ι`, then `ι` is `unique`. -/
@@ -302,6 +310,7 @@ noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) :
#align finite_dimensional.basis_unique FiniteDimensional.basisUnique
-/
+#print FiniteDimensional.basisUnique.repr_eq_zero_iff /-
@[simp]
theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
(basisUnique ι h).repr v i = 0 ↔ v = 0 :=
@@ -309,7 +318,9 @@ theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V
(basisUnique ι h).repr.map_eq_zero_iff.mp (Finsupp.ext fun j => Subsingleton.elim i j ▸ hv),
fun hv => by rw [hv, LinearEquiv.map_zero, Finsupp.zero_apply]⟩
#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iff
+-/
+#print FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent /-
theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
(h : LinearIndependent K b) : (#ι) ≤ finrank K V :=
by
@@ -317,11 +328,14 @@ theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι
simpa [← finrank_eq_rank', -finrank_eq_rank] using
cardinal_lift_le_rank_of_linearIndependent.{_, _, _, max v w} h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
+-/
+#print FiniteDimensional.fintype_card_le_finrank_of_linearIndependent /-
theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type _}
[Fintype ι] {b : ι → V} (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
simpa using cardinal_mk_le_finrank_of_linear_independent h
#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependent
+-/
#print FiniteDimensional.finset_card_le_finrank_of_linearIndependent /-
theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b : Finset V}
@@ -362,10 +376,12 @@ theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [Fin
#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
-/
+#print FiniteDimensional.finrank_pos_iff_exists_ne_zero /-
/-- A finite dimensional space has positive `finrank` iff it has a nonzero element. -/
theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
Iff.trans (by rw [← finrank_eq_rank]; norm_cast) (@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zero
+-/
#print FiniteDimensional.finrank_pos_iff /-
/-- A finite dimensional space has positive `finrank` iff it is nontrivial. -/
@@ -389,6 +405,7 @@ theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingle
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
-/
+#print FiniteDimensional.eq_top_of_finrank_eq /-
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
@@ -417,6 +434,7 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
rw [this, map_top (Submodule.subtype S), range_subtype]
#align finite_dimensional.eq_top_of_finrank_eq FiniteDimensional.eq_top_of_finrank_eq
+-/
variable (K)
@@ -453,6 +471,7 @@ instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p]
variable {K}
+#print CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux /-
theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensional K V]
{ι : Type w} {p : ι → Submodule K V} (hp : CompleteLattice.Independent p) :
(#{ i // p i ≠ ⊥ }) ≤ (finrank K V : Cardinal.{w}) :=
@@ -465,7 +484,9 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
_ = Cardinal.lift.{w} (finrank K V : Cardinal.{v}) := by rw [finrank_eq_rank]
_ = Cardinal.lift.{v} (finrank K V : Cardinal.{w}) := by simp
#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
+-/
+#print CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional /-
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
number of nontrivial subspaces in the family `p` is finite. -/
noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
@@ -479,7 +500,9 @@ noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
refine' lt_of_le_of_lt hp.subtype_ne_bot_le_finrank_aux _
simp [Cardinal.nat_lt_aleph0]
#align complete_lattice.independent.fintype_ne_bot_of_finite_dimensional CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
+-/
+#print CompleteLattice.Independent.subtype_ne_bot_le_finrank /-
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
number of nontrivial subspaces in the family `p` is bounded above by the dimension of `V`.
@@ -489,6 +512,7 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank [FiniteDimensional
{p : ι → Submodule K V} (hp : CompleteLattice.Independent p) [Fintype { i // p i ≠ ⊥ }] :
Fintype.card { i // p i ≠ ⊥ } ≤ finrank K V := by simpa using hp.subtype_ne_bot_le_finrank_aux
#align complete_lattice.independent.subtype_ne_bot_le_finrank CompleteLattice.Independent.subtype_ne_bot_le_finrank
+-/
section
@@ -496,6 +520,7 @@ open scoped BigOperators
open Finset
+#print FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card /-
/-- If a finset has cardinality larger than the dimension of the space,
then there is a nontrivial linear relation amongst its elements.
-/
@@ -526,7 +551,9 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
rw [if_neg h₂, zero_smul]
· refine' ⟨z, z.2, _⟩; dsimp only [f]; erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
+-/
+#print FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card /-
/-- If a finset has cardinality larger than `finrank + 1`,
then there is a nontrivial linear relation amongst its elements,
such that the coefficients of the relation sum to zero.
@@ -609,6 +636,7 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
simpa only [sub_eq_zero, exists_prop, Finset.mem_map, embedding.coe_fn_mk, eq_self_iff_true,
mem_erase, not_true, exists_eq_right, Ne.def, false_and_iff] using x₁_mem
#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card
+-/
section
@@ -616,6 +644,7 @@ variable {L : Type _} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
+#print FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card /-
/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
available when working over an ordered field:
we can ensure a positive coefficient, not just a nonzero coefficient.
@@ -627,11 +656,13 @@ theorem exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card [FiniteDim
obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card h
exact ⟨f, Sum, Total, exists_pos_of_sum_zero_of_exists_nonzero f Total nonzero⟩
#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card
+-/
end
end
+#print FiniteDimensional.basisSingleton /-
/-- In a vector space with dimension 1, each set {v} is a basis for `v ≠ 0`. -/
@[simps]
noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
@@ -655,17 +686,22 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
RingHom.id_apply, smul_eq_mul, Pi.smul_apply]
exact mul_div_cancel _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
+-/
+#print FiniteDimensional.basisSingleton_apply /-
@[simp]
theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
(i : ι) : basisSingleton ι h v hv i = v := by cases Unique.uniq ‹Unique ι› i;
simp [basis_singleton]
#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_apply
+-/
+#print FiniteDimensional.range_basisSingleton /-
@[simp]
theorem range_basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0) :
Set.range (basisSingleton ι h v hv) = {v} := by rw [Set.range_unique, basis_singleton_apply]
#align finite_dimensional.range_basis_singleton FiniteDimensional.range_basisSingleton
+-/
end DivisionRing
@@ -679,12 +715,14 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
+#print finiteDimensional_of_rank_eq_nat /-
theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
FiniteDimensional K V :=
by
rw [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, h]
exact nat_lt_aleph_0 n
#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_nat
+-/
#print finiteDimensional_of_rank_eq_zero /-
-- TODO: generalize to free modules over general rings.
@@ -709,19 +747,24 @@ theorem finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V] (h : Module.rank
variable (K V)
+#print finiteDimensional_bot /-
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
finiteDimensional_of_rank_eq_zero <| by simp
#align finite_dimensional_bot finiteDimensional_bot
+-/
variable {K V}
+#print bot_eq_top_of_rank_eq_zero /-
theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
by
haveI := finiteDimensional_of_rank_eq_zero h
apply eq_top_of_finrank_eq
rw [finrank_bot, finrank_eq_zero_of_rank_eq_zero h]
#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zero
+-/
+#print rank_eq_zero /-
@[simp]
theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
⟨fun h =>
@@ -731,11 +774,14 @@ theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
Submodule.mem_top,
fun h => by rw [h, rank_bot]⟩
#align rank_eq_zero rank_eq_zero
+-/
+#print finrank_eq_zero /-
@[simp]
theorem finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] : finrank K S = 0 ↔ S = ⊥ := by
rw [← rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
#align finrank_eq_zero finrank_eq_zero
+-/
end ZeroRank
@@ -784,6 +830,7 @@ instance finiteDimensional_inf_right (S₁ S₂ : Submodule K V) [FiniteDimensio
#align submodule.finite_dimensional_inf_right Submodule.finiteDimensional_inf_right
-/
+#print Submodule.finiteDimensional_sup /-
/-- The sup of two finite-dimensional submodules is
finite-dimensional. -/
instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensional K S₁]
@@ -793,7 +840,9 @@ instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensi
rw [finite_def] at *
exact (fg_top _).2 (((fg_top S₁).1 h₁).sup ((fg_top S₂).1 h₂))
#align submodule.finite_dimensional_sup Submodule.finiteDimensional_sup
+-/
+#print Submodule.finiteDimensional_finset_sup /-
/-- The submodule generated by a finite supremum of finite dimensional submodules is
finite-dimensional.
@@ -808,7 +857,9 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
· intro S₁ hS₁ S₂ hS₂
exact Submodule.finiteDimensional_sup S₁ S₂
#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_sup
+-/
+#print Submodule.finiteDimensional_iSup /-
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
sort is finite-dimensional. -/
instance finiteDimensional_iSup {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
@@ -818,6 +869,7 @@ instance finiteDimensional_iSup {ι : Sort _} [Finite ι] (S : ι → Submodule
rw [← iSup_plift_down, ← Finset.sup_univ_eq_iSup]
exact Submodule.finiteDimensional_finset_sup _ _
#align submodule.finite_dimensional_supr Submodule.finiteDimensional_iSup
+-/
#print Submodule.finrank_quotient_add_finrank /-
/-- In a finite-dimensional vector space, the dimensions of a submodule and of the corresponding
@@ -831,6 +883,7 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
-/
+#print Submodule.finrank_lt /-
/-- The dimension of a strict submodule is strictly bounded by the dimension of the ambient
space. -/
theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
@@ -839,6 +892,7 @@ theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
rw [← s.finrank_quotient_add_finrank, add_comm]
exact Nat.lt_add_of_zero_lt_left _ _ (finrank_pos_iff.mpr (quotient.nontrivial_of_lt_top _ h))
#align submodule.finrank_lt Submodule.finrank_lt
+-/
#print Submodule.finrank_sup_add_finrank_inf_eq /-
/-- The sum of the dimensions of s + t and s ∩ t is the sum of the dimensions of s and t -/
@@ -854,11 +908,14 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
-/
+#print Submodule.finrank_add_le_finrank_add_finrank /-
theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t := by
rw [← finrank_sup_add_finrank_inf_eq]; exact self_le_add_right _ _
#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrank
+-/
+#print Submodule.eq_top_of_disjoint /-
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
(hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ :=
by
@@ -872,6 +929,7 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
rw [h_finrank_inf]
rfl
#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjoint
+-/
end DivisionRing
@@ -902,10 +960,12 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+#print finiteDimensional_finsupp /-
instance finiteDimensional_finsupp {ι : Type _} [Finite ι] [h : FiniteDimensional K V] :
FiniteDimensional K (ι →₀ V) :=
(Finsupp.linearEquivFunOnFinite K V ι).symm.FiniteDimensional
#align finite_dimensional_finsupp finiteDimensional_finsupp
+-/
end
@@ -977,6 +1037,7 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print LinearMap.surjective_of_injective /-
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
@@ -984,12 +1045,15 @@ theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hin
rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
+-/
+#print LinearMap.finiteDimensional_of_surjective /-
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K] V₂)
(hf : f.range = ⊤) : FiniteDimensional K V₂ :=
Module.Finite.of_surjective f <| range_eq_top.1 hf
#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjective
+-/
#print LinearMap.finiteDimensional_range /-
/-- The range of a linear map defined on a finite-dimensional space is also finite-dimensional. -/
@@ -999,6 +1063,7 @@ instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂)
#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_range
-/
+#print LinearMap.injective_iff_surjective /-
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
Injective f ↔ Surjective f :=
@@ -1008,10 +1073,13 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
(leftInverse_of_surjective_of_rightInverse (surjective_of_injective this.Injective)
this).Injective⟩
#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjective
+-/
+#print LinearMap.ker_eq_bot_iff_range_eq_top /-
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
f.ker = ⊥ ↔ f.range = ⊤ := by rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_top
+-/
#print LinearMap.mul_eq_one_of_mul_eq_one /-
/-- In a finite-dimensional space, if linear maps are inverse to each other on one side then they
@@ -1065,28 +1133,36 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
variable [FiniteDimensional K V]
+#print LinearEquiv.ofInjectiveEndo /-
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
LinearEquiv.ofBijective f ⟨h_inj, LinearMap.injective_iff_surjective.mp h_inj⟩
#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndo
+-/
+#print LinearEquiv.coe_ofInjectiveEndo /-
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
⇑(ofInjectiveEndo f h_inj) = f :=
rfl
#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndo
+-/
+#print LinearEquiv.ofInjectiveEndo_right_inv /-
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
f * (ofInjectiveEndo f h_inj).symm = 1 :=
LinearMap.ext <| (ofInjectiveEndo f h_inj).apply_symm_apply
#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_inv
+-/
+#print LinearEquiv.ofInjectiveEndo_left_inv /-
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
((ofInjectiveEndo f h_inj).symm : V →ₗ[K] V) * f = 1 :=
LinearMap.ext <| (ofInjectiveEndo f h_inj).symm_apply_apply
#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_inv
+-/
end LinearEquiv
@@ -1094,6 +1170,7 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+#print LinearMap.isUnit_iff_ker_eq_bot /-
theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.ker = ⊥ :=
by
constructor
@@ -1106,10 +1183,13 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
LinearEquiv.ofInjectiveEndo_left_inv f h_inj⟩,
rfl⟩
#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_bot
+-/
+#print LinearMap.isUnit_iff_range_eq_top /-
theorem isUnit_iff_range_eq_top [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.range = ⊤ :=
by rw [is_unit_iff_ker_eq_bot, ker_eq_bot_iff_range_eq_top]
#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_top
+-/
end LinearMap
@@ -1119,9 +1199,11 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+#print finrank_zero_iff_forall_zero /-
theorem finrank_zero_iff_forall_zero [FiniteDimensional K V] : finrank K V = 0 ↔ ∀ x : V, x = 0 :=
finrank_zero_iff.trans (subsingleton_iff_forall_eq 0)
#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zero
+-/
#print basisOfFinrankZero /-
/-- If `ι` is an empty type and `V` is zero-dimensional, there is a unique `ι`-indexed basis. -/
@@ -1139,6 +1221,7 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print LinearMap.injective_iff_surjective_of_finrank_eq_finrank /-
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
Function.Injective f ↔ Function.Surjective f :=
@@ -1148,13 +1231,17 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
· rw [h, finrank_bot, add_zero, H] at this ; exact eq_top_of_finrank_eq this
· rw [h, finrank_top, H] at this ; exact finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
+-/
+#print LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank /-
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
f.ker = ⊥ ↔ f.range = ⊤ := by
rw [range_eq_top, ker_eq_bot, injective_iff_surjective_of_finrank_eq_finrank H]
#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank
+-/
+#print LinearMap.linearEquivOfInjective /-
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
between the two vector spaces. -/
@@ -1163,13 +1250,16 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
LinearEquiv.ofBijective f
⟨hf, (LinearMap.injective_iff_surjective_of_finrank_eq_finrank hdim).mp hf⟩
#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjective
+-/
+#print LinearMap.linearEquivOfInjective_apply /-
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
{f : V →ₗ[K] V₂} (hf : Injective f) (hdim : finrank K V = finrank K V₂) (x : V) :
f.linearEquivOfInjective hf hdim x = f x :=
rfl
#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_apply
+-/
end LinearMap
@@ -1218,10 +1308,12 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print Submodule.eq_top_of_finrank_eq /-
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
(h : finrank K S = finrank K V) : S = ⊤ :=
FiniteDimensional.eq_of_le_of_finrank_eq le_top (by simp [h, finrank_top])
#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
+-/
#print Submodule.finrank_mono /-
theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V => finrank K s :=
@@ -1265,6 +1357,7 @@ section Span
open Submodule
+#print finrank_span_singleton /-
theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1 :=
by
apply le_antisymm
@@ -1273,6 +1366,7 @@ theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1
use ⟨v, mem_span_singleton_self v⟩, 0
simp [hv]
#align finrank_span_singleton finrank_span_singleton
+-/
#print Set.finrank_mono /-
theorem Set.finrank_mono [FiniteDimensional K V] {s t : Set V} (h : s ⊆ t) :
@@ -1285,6 +1379,7 @@ end Span
section Basis
+#print span_eq_top_of_linearIndependent_of_card_eq_finrank /-
theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι : Nonempty ι]
[Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
(card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ :=
@@ -1302,6 +1397,7 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
Fintype.card ι = finrank K V := card_eq
_ = 0 := dif_neg (mt is_noetherian.iff_rank_lt_aleph_0.mpr Fin)
#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
+-/
#print basisOfLinearIndependentOfCardEqFinrank /-
/-- A linear independent family of `finrank K V` vectors forms a basis. -/
@@ -1313,12 +1409,14 @@ noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempt
#align basis_of_linear_independent_of_card_eq_finrank basisOfLinearIndependentOfCardEqFinrank
-/
+#print coe_basisOfLinearIndependentOfCardEqFinrank /-
@[simp]
theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
⇑(basisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = b :=
Basis.coe_mk _ _
#align coe_basis_of_linear_independent_of_card_eq_finrank coe_basisOfLinearIndependentOfCardEqFinrank
+-/
#print finsetBasisOfLinearIndependentOfCardEqFinrank /-
/-- A linear independent finset of `finrank K V` vectors forms a basis. -/
@@ -1367,6 +1465,7 @@ We now give characterisations of `finrank K V = 1` and `finrank K V ≤ 1`.
section finrank_eq_one
+#print finrank_eq_one_iff_of_nonzero /-
/-- A vector space with a nonzero vector `v` has dimension 1 iff `v` spans.
-/
theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
@@ -1374,7 +1473,9 @@ theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
⟨fun h => by simpa using (basis_singleton PUnit h v nz).span_eq, fun s =>
finrank_eq_card_basis (Basis.mk (linearIndependent_singleton nz) (by convert s; simp))⟩
#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzero
+-/
+#print finrank_eq_one_iff_of_nonzero' /-
/-- A module with a nonzero vector `v` has dimension 1 iff every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
@@ -1383,7 +1484,9 @@ theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
rw [finrank_eq_one_iff_of_nonzero v nz]
apply span_singleton_eq_top_iff
#align finrank_eq_one_iff_of_nonzero' finrank_eq_one_iff_of_nonzero'
+-/
+#print finrank_eq_one_iff /-
/-- A module has dimension 1 iff there is some `v : V` so `{v}` is a basis.
-/
theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonempty (Basis ι K V) :=
@@ -1395,7 +1498,9 @@ theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonem
· rintro ⟨b⟩
simpa using finrank_eq_card_basis b
#align finrank_eq_one_iff finrank_eq_one_iff
+-/
+#print finrank_eq_one_iff' /-
/-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff' :
@@ -1408,6 +1513,7 @@ theorem finrank_eq_one_iff' :
simp
infer_instance; infer_instance
#align finrank_eq_one_iff' finrank_eq_one_iff'
+-/
#print finrank_le_one_iff /-
-- Not sure why this aren't found automatically.
@@ -1436,12 +1542,15 @@ theorem Submodule.finrank_le_one_iff_isPrincipal (W : Submodule K V) [FiniteDime
#align submodule.finrank_le_one_iff_is_principal Submodule.finrank_le_one_iff_isPrincipal
-/
+#print Module.finrank_le_one_iff_top_isPrincipal /-
theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
finrank K V ≤ 1 ↔ (⊤ : Submodule K V).IsPrincipal := by
rw [← Module.rank_le_one_iff_top_isPrincipal, ← finrank_eq_rank, ← Cardinal.natCast_le,
Nat.cast_one]
#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipal
+-/
+#print surjective_of_nonzero_of_finrank_eq_one /-
-- We use the `linear_map.compatible_smul` typeclass here, to encompass two situations:
-- * `A = K`
-- * `[field K] [algebra K A] [is_scalar_tower K A V] [is_scalar_tower K A W]`
@@ -1455,7 +1564,9 @@ theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type _} [Semiring A] [Mod
obtain ⟨c, rfl⟩ := (finrank_eq_one_iff_of_nonzero' (f v) n).mp h z
exact ⟨c • v, by simp⟩
#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_one
+-/
+#print is_simple_module_of_finrank_eq_one /-
/-- Any `K`-algebra module that is 1-dimensional over `K` is simple. -/
theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K A]
[IsScalarTower K A V] (h : finrank K V = 1) : IsSimpleOrder (Submodule A V) :=
@@ -1467,6 +1578,7 @@ theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K
refine' eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
simpa only [h, finrank_bot] using Submodule.finrank_strictMono (Ne.bot_lt hn)
#align is_simple_module_of_finrank_eq_one is_simple_module_of_finrank_eq_one
+-/
end finrank_eq_one
@@ -1478,11 +1590,13 @@ open Module
variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
+#print Subalgebra.finiteDimensional_toSubmodule /-
/-- A `subalgebra` is `finite_dimensional` iff it is finite_dimensional as a submodule. -/
theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
FiniteDimensional F S.toSubmodule ↔ FiniteDimensional F S :=
Iff.rfl
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
+-/
alias Subalgebra.finiteDimensional_toSubmodule ↔ FiniteDimensional.of_subalgebra_toSubmodule
FiniteDimensional.subalgebra_toSubmodule
@@ -1502,6 +1616,7 @@ instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebr
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
-/
+#print Subalgebra.eq_bot_of_rank_le_one /-
theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) : S = ⊥ :=
by
nontriviality E
@@ -1513,11 +1628,14 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
iterate 2 rw [Subalgebra.finrank_toSubmodule, finrank_eq_rank]
exact h.trans_eq subalgebra.rank_bot.symm
#align subalgebra.eq_bot_of_rank_le_one Subalgebra.eq_bot_of_rank_le_one
+-/
+#print Subalgebra.eq_bot_of_finrank_one /-
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
Subalgebra.eq_bot_of_rank_le_one <| by haveI := finite_dimensional_of_finrank_eq_succ h;
rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
+-/
#print Subalgebra.rank_eq_one_iff /-
@[simp]
@@ -1535,16 +1653,20 @@ theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
#align subalgebra.finrank_eq_one_iff Subalgebra.finrank_eq_one_iff
-/
+#print Subalgebra.bot_eq_top_iff_rank_eq_one /-
theorem Subalgebra.bot_eq_top_iff_rank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 := by
rw [← rank_top, ← subalgebra_top_rank_eq_submodule_top_rank, Subalgebra.rank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_one
+-/
+#print Subalgebra.bot_eq_top_iff_finrank_eq_one /-
theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ finrank F E = 1 := by
rw [← finrank_top, ← subalgebra_top_finrank_eq_submodule_top_finrank,
Subalgebra.finrank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_one
+-/
alias Subalgebra.bot_eq_top_iff_rank_eq_one ↔ _ Subalgebra.bot_eq_top_of_rank_eq_one
#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
@@ -1554,6 +1676,7 @@ alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_fi
attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
+#print Subalgebra.isSimpleOrder_of_finrank /-
theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
IsSimpleOrder (Subalgebra F E) :=
let i := nontrivial_of_finrank_pos (zero_lt_two.trans_eq hr.symm)
@@ -1571,6 +1694,7 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
rw [← Algebra.toSubmodule_eq_top]
exact Submodule.eq_top_of_finrank_eq h }
#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrank
+-/
end SubalgebraRank
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3e83f0fa4391c8740f7d773a7a9b74e311ae2a3
@@ -500,7 +500,7 @@ open Finset
then there is a nontrivial linear relation amongst its elements.
-/
theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t : Finset V}
- (h : finrank K V < t.card) : ∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
+ (h : finrank K V < t.card) : ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
have := mt finset_card_le_finrank_of_linear_independent (by simpa using h)
rw [not_linearIndependent_iff] at this
@@ -533,7 +533,7 @@ such that the coefficients of the relation sum to zero.
-/
theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensional K V]
{t : Finset V} (h : finrank K V + 1 < t.card) :
- ∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ (∑ e in t, f e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
+ ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
-- Pick an element x₀ ∈ t,
have card_pos : 0 < t.card := lt_trans (Nat.succ_pos _) h
@@ -553,7 +553,7 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
refine' ⟨f, _, _, _⟩
-- After this, it's a matter of verifiying the properties,
-- based on the corresponding properties for `g`.
- · show (∑ e : V in t, f e • e) = 0
+ · show ∑ e : V in t, f e • e = 0
-- We prove this by splitting off the `x₀` term of the sum,
-- which is itself a sum over `t.erase x₀`,
-- combining the two sums, and
@@ -580,10 +580,10 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
simp only [← smul_sub]
-- At the end we have to reindex the sum, so we use `change` to
-- express the summand using `shift`.
- change (∑ x : V in t.erase x₀, (fun e => g e • e) (shift x)) = 0
+ change ∑ x : V in t.erase x₀, (fun e => g e • e) (shift x) = 0
rw [← sum_map _ shift]
exact gsum
- · show (∑ e : V in t, f e) = 0
+ · show ∑ e : V in t, f e = 0
-- Again we split off the `x₀` term,
-- observing that it exactly cancels the other terms.
rw [← insert_erase m, sum_insert (not_mem_erase x₀ t)]
@@ -622,7 +622,7 @@ we can ensure a positive coefficient, not just a nonzero coefficient.
-/
theorem exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card [FiniteDimensional L W]
{t : Finset W} (h : finrank L W + 1 < t.card) :
- ∃ f : W → L, (∑ e in t, f e • e) = 0 ∧ (∑ e in t, f e) = 0 ∧ ∃ x ∈ t, 0 < f x :=
+ ∃ f : W → L, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, 0 < f x :=
by
obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card h
exact ⟨f, Sum, Total, exists_pos_of_sum_zero_of_exists_nonzero f Total nonzero⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -464,7 +464,6 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
hp.subtype_ne_bot_le_rank
_ = Cardinal.lift.{w} (finrank K V : Cardinal.{v}) := by rw [finrank_eq_rank]
_ = Cardinal.lift.{v} (finrank K V : Cardinal.{w}) := by simp
-
#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
@@ -1302,7 +1301,6 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
calc
Fintype.card ι = finrank K V := card_eq
_ = 0 := dif_neg (mt is_noetherian.iff_rank_lt_aleph_0.mpr Fin)
-
#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
#print basisOfLinearIndependentOfCardEqFinrank /-
@@ -1604,7 +1602,6 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
n.succ ≤ (finrank K ↥(LinearMap.ker (f ^ n))).succ :=
Nat.succ_le_succ (ih (Nat.le_of_succ_le hn))
_ ≤ finrank K ↥(LinearMap.ker (f ^ n.succ)) := Nat.succ_le_of_lt h_finrank_lt_finrank
-
have h_le_finrank_V : ∀ n, finrank K (f ^ n).ker ≤ finrank K V := fun n => Submodule.finrank_le _
have h_any_n_lt : ∀ n, n ≤ (finrank K V).succ → n ≤ finrank K V := fun n hn =>
(h_le_ker_pow n hn).trans (h_le_finrank_V n)
@@ -1640,7 +1637,6 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
_ = (f ^ k).ker := by rw [ker_pow_constant hk _]
_ = (f ^ (k + (finrank K V - k))).ker := (ker_pow_constant hk (finrank K V - k))
_ = (f ^ finrank K V).ker := by rw [add_tsub_cancel_of_le h_k_le]
-
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
-/
@@ -1676,7 +1672,6 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K
(#V) = (#s →₀ K) := Quotient.sound ⟨hs.repr.to_equiv⟩
_ = (#s → K) := (Quotient.sound ⟨Finsupp.equivFunOnFinite⟩)
_ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_rank, Cardinal.power_def]
-
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -850,7 +850,7 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
have key : Module.rank K ↥(s ⊔ t) + Module.rank K ↥(s ⊓ t) = Module.rank K s + Module.rank K t :=
rank_sup_add_rank_inf_eq s t
repeat' rw [← finrank_eq_rank] at key
- norm_cast at key
+ norm_cast at key
exact key
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
-/
@@ -1405,7 +1405,7 @@ theorem finrank_eq_one_iff' :
by
convert finrank_eq_one_iff PUnit
simp only [exists_prop, eq_iff_iff, Ne.def]
- convert(Basis.basis_singleton_iff PUnit).symm
+ convert (Basis.basis_singleton_iff PUnit).symm
funext v
simp
infer_instance; infer_instance
@@ -1486,8 +1486,8 @@ theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
Iff.rfl
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
-alias Subalgebra.finiteDimensional_toSubmodule ↔
- FiniteDimensional.of_subalgebra_toSubmodule FiniteDimensional.subalgebra_toSubmodule
+alias Subalgebra.finiteDimensional_toSubmodule ↔ FiniteDimensional.of_subalgebra_toSubmodule
+ FiniteDimensional.subalgebra_toSubmodule
#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmodule
#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmodule
@@ -1586,31 +1586,30 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
classical
- by_contra h_contra
- simp_rw [not_exists, not_and] at h_contra
- have h_le_ker_pow : ∀ n : ℕ, n ≤ (finrank K V).succ → n ≤ finrank K (f ^ n).ker :=
- by
- intro n hn
- induction' n with n ih
- · exact zero_le (finrank _ _)
- · have h_ker_lt_ker : (f ^ n).ker < (f ^ n.succ).ker :=
- by
- refine' lt_of_le_of_ne _ (h_contra n (Nat.le_of_succ_le_succ hn))
- rw [pow_succ]
- apply LinearMap.ker_le_ker_comp
- have h_finrank_lt_finrank : finrank K (f ^ n).ker < finrank K (f ^ n.succ).ker := by
- apply Submodule.finrank_lt_finrank_of_lt h_ker_lt_ker
- calc
- n.succ ≤ (finrank K ↥(LinearMap.ker (f ^ n))).succ :=
- Nat.succ_le_succ (ih (Nat.le_of_succ_le hn))
- _ ≤ finrank K ↥(LinearMap.ker (f ^ n.succ)) := Nat.succ_le_of_lt h_finrank_lt_finrank
-
- have h_le_finrank_V : ∀ n, finrank K (f ^ n).ker ≤ finrank K V := fun n =>
- Submodule.finrank_le _
- have h_any_n_lt : ∀ n, n ≤ (finrank K V).succ → n ≤ finrank K V := fun n hn =>
- (h_le_ker_pow n hn).trans (h_le_finrank_V n)
- show False
- exact Nat.not_succ_le_self _ (h_any_n_lt (finrank K V).succ (finrank K V).succ.le_refl)
+ by_contra h_contra
+ simp_rw [not_exists, not_and] at h_contra
+ have h_le_ker_pow : ∀ n : ℕ, n ≤ (finrank K V).succ → n ≤ finrank K (f ^ n).ker :=
+ by
+ intro n hn
+ induction' n with n ih
+ · exact zero_le (finrank _ _)
+ · have h_ker_lt_ker : (f ^ n).ker < (f ^ n.succ).ker :=
+ by
+ refine' lt_of_le_of_ne _ (h_contra n (Nat.le_of_succ_le_succ hn))
+ rw [pow_succ]
+ apply LinearMap.ker_le_ker_comp
+ have h_finrank_lt_finrank : finrank K (f ^ n).ker < finrank K (f ^ n.succ).ker := by
+ apply Submodule.finrank_lt_finrank_of_lt h_ker_lt_ker
+ calc
+ n.succ ≤ (finrank K ↥(LinearMap.ker (f ^ n))).succ :=
+ Nat.succ_le_succ (ih (Nat.le_of_succ_le hn))
+ _ ≤ finrank K ↥(LinearMap.ker (f ^ n.succ)) := Nat.succ_le_of_lt h_finrank_lt_finrank
+
+ have h_le_finrank_V : ∀ n, finrank K (f ^ n).ker ≤ finrank K V := fun n => Submodule.finrank_le _
+ have h_any_n_lt : ∀ n, n ≤ (finrank K V).succ → n ≤ finrank K V := fun n hn =>
+ (h_le_ker_pow n hn).trans (h_le_finrank_V n)
+ show False
+ exact Nat.not_succ_le_self _ (h_any_n_lt (finrank K V).succ (finrank K V).succ.le_refl)
#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succ
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -268,7 +268,7 @@ noncomputable def Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι :=
by
have A : Cardinal.mk ι = ↑(FiniteDimensional.finrank K K) :=
(FiniteDimensional.finrank_eq_card_basis' b).symm
- simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, algebraMap.coe_one] at A
+ simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, algebraMap.coe_one] at A
exact Nonempty.some ((unique_iff_subsingleton_and_nonempty _).2 A)
#align basis.unique Basis.unique
-/
@@ -414,7 +414,7 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
rw [← b.span_eq, b_eq, Basis.coe_extend, Subtype.range_coe, ← this, ← Submodule.coeSubtype,
span_image]
have := bS.span_eq
- rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
+ rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
rw [this, map_top (Submodule.subtype S), range_subtype]
#align finite_dimensional.eq_top_of_finrank_eq FiniteDimensional.eq_top_of_finrank_eq
@@ -458,7 +458,7 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
(#{ i // p i ≠ ⊥ }) ≤ (finrank K V : Cardinal.{w}) :=
by
suffices Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{v} (finrank K V : Cardinal.{w}) by
- rwa [Cardinal.lift_le] at this
+ rwa [Cardinal.lift_le] at this
calc
Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{w} (Module.rank K V) :=
hp.subtype_ne_bot_le_rank
@@ -475,7 +475,7 @@ noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
by
suffices (#{ i // p i ≠ ⊥ }) < (ℵ₀ : Cardinal.{w})
by
- rw [Cardinal.lt_aleph0_iff_fintype] at this
+ rw [Cardinal.lt_aleph0_iff_fintype] at this
exact this.some
refine' lt_of_le_of_lt hp.subtype_ne_bot_le_finrank_aux _
simp [Cardinal.nat_lt_aleph0]
@@ -504,7 +504,7 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
(h : finrank K V < t.card) : ∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
have := mt finset_card_le_finrank_of_linear_independent (by simpa using h)
- rw [not_linearIndependent_iff] at this
+ rw [not_linearIndependent_iff] at this
obtain ⟨s, g, sum, z, zm, nonzero⟩ := this
-- Now we have to extend `g` to all of `t`, then to all of `V`.
let f : V → K := fun x => if h : x ∈ t then if (⟨x, h⟩ : t) ∈ s then g ⟨x, h⟩ else 0 else 0
@@ -514,7 +514,7 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
rw [← Sum]
fapply sum_bij_ne_zero fun v hvt _ => (⟨v, hvt⟩ : { v // v ∈ t })
· intro v hvt H; dsimp
- rw [dif_pos hvt] at H
+ rw [dif_pos hvt] at H
contrapose! H
rw [if_neg H, zero_smul]
· intro _ _ _ _ _ _; exact Subtype.mk.inj
@@ -597,12 +597,12 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
skip
rw [if_neg (show x ≠ x₀ from (mem_erase.mp H).1)]
exact neg_add_self _
- · show ∃ (x : V)(H : x ∈ t), f x ≠ 0
+ · show ∃ (x : V) (H : x ∈ t), f x ≠ 0
-- We can use x₁ + x₀.
refine' ⟨x₁ + x₀, _, _⟩
- · rw [Finset.mem_map] at x₁_mem
+ · rw [Finset.mem_map] at x₁_mem
rcases x₁_mem with ⟨x₁, x₁_mem, rfl⟩
- rw [mem_erase] at x₁_mem
+ rw [mem_erase] at x₁_mem
simp only [x₁_mem, sub_add_cancel, Function.Embedding.coeFn_mk]
· dsimp only [f]
rwa [if_neg, add_sub_cancel]
@@ -827,7 +827,7 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
finrank K (V ⧸ s) + finrank K s = finrank K V :=
by
have := rank_quotient_add_rank s
- rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
+ rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
exact_mod_cast this
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
-/
@@ -849,8 +849,8 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
by
have key : Module.rank K ↥(s ⊔ t) + Module.rank K ↥(s ⊓ t) = Module.rank K s + Module.rank K t :=
rank_sup_add_rank_inf_eq s t
- repeat' rw [← finrank_eq_rank] at key
- norm_cast at key
+ repeat' rw [← finrank_eq_rank] at key
+ norm_cast at key
exact key
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
-/
@@ -865,7 +865,7 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
by
have h_finrank_inf : finrank K ↥(s ⊓ t) = 0 :=
by
- rw [disjoint_iff_inf_le, le_bot_iff] at hdisjoint
+ rw [disjoint_iff_inf_le, le_bot_iff] at hdisjoint
rw [hdisjoint, finrank_bot]
apply eq_top_of_finrank_eq
rw [← hdim]
@@ -921,7 +921,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
- rw [← LinearEquiv.finrank_eq (Submodule.comapSubtypeEquivOfLe hle)] at hd
+ rw [← LinearEquiv.finrank_eq (Submodule.comapSubtypeEquivOfLe hle)] at hd
exact
le_antisymm hle
(Submodule.comap_subtype_eq_top.1
@@ -982,7 +982,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
have h := rank_eq_of_injective _ hinj
- rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
+ rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
@@ -1025,7 +1025,7 @@ theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (
let ⟨i, hi⟩ :=
g.exists_rightInverse_of_surjective (range_eq_top.2 (injective_iff_surjective.1 ginj))
have : f * (g * i) = f * 1 := congr_arg _ hi
- rw [← mul_assoc, hfg, one_mul, mul_one] at this <;> rwa [← this]
+ rw [← mul_assoc, hfg, one_mul, mul_one] at this <;> rwa [← this]
#align linear_map.mul_eq_one_of_mul_eq_one LinearMap.mul_eq_one_of_mul_eq_one
-/
@@ -1100,7 +1100,7 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
constructor
· rintro ⟨u, rfl⟩
exact LinearMap.ker_eq_bot_of_inverse u.inv_mul
- · intro h_inj; rw [ker_eq_bot] at h_inj
+ · intro h_inj; rw [ker_eq_bot] at h_inj
exact
⟨⟨f, (LinearEquiv.ofInjectiveEndo f h_inj).symm.toLinearMap,
LinearEquiv.ofInjectiveEndo_right_inv f h_inj,
@@ -1146,8 +1146,8 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
by
have := finrank_range_add_finrank_ker f
rw [← ker_eq_bot, ← range_eq_top]; refine' ⟨fun h => _, fun h => _⟩
- · rw [h, finrank_bot, add_zero, H] at this; exact eq_top_of_finrank_eq this
- · rw [h, finrank_top, H] at this; exact finrank_eq_zero.1 (add_right_injective _ this)
+ · rw [h, finrank_bot, add_zero, H] at this ; exact eq_top_of_finrank_eq this
+ · rw [h, finrank_top, H] at this ; exact finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
@@ -1400,7 +1400,8 @@ theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonem
/-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
-theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ (v : V)(n : v ≠ 0), ∀ w : V, ∃ c : K, c • v = w :=
+theorem finrank_eq_one_iff' :
+ finrank K V = 1 ↔ ∃ (v : V) (n : v ≠ 0), ∀ w : V, ∃ c : K, c • v = w :=
by
convert finrank_eq_one_iff PUnit
simp only [exists_prop, eq_iff_iff, Ne.def]
@@ -1463,7 +1464,7 @@ theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K
by
haveI := nontrivial_of_finrank_eq_succ h
refine' ⟨fun S => or_iff_not_imp_left.2 fun hn => _⟩
- rw [← restrict_scalars_inj K] at hn⊢
+ rw [← restrict_scalars_inj K] at hn ⊢
haveI := finite_dimensional_of_finrank_eq_succ h
refine' eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
simpa only [h, finrank_bot] using Submodule.finrank_strictMono (Ne.bot_lt hn)
@@ -1568,7 +1569,7 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
have : 0 < finrank F S := finrank_pos_iff.mpr inferInstance
interval_cases
· left; exact Subalgebra.eq_bot_of_finrank_one h
- · right; rw [← hr] at h
+ · right; rw [← hr] at h
rw [← Algebra.toSubmodule_eq_top]
exact Submodule.eq_top_of_finrank_eq h }
#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrank
@@ -1586,7 +1587,7 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
classical
by_contra h_contra
- simp_rw [not_exists, not_and] at h_contra
+ simp_rw [not_exists, not_and] at h_contra
have h_le_ker_pow : ∀ n : ℕ, n ≤ (finrank K V).succ → n ≤ finrank K (f ^ n).ker :=
by
intro n hn
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -83,7 +83,7 @@ equivalence is proved in `submodule.fg_iff_finite_dimensional`.
universe u v v' w
-open Classical Cardinal
+open scoped Classical Cardinal
open Cardinal Submodule Module Function
@@ -332,6 +332,7 @@ theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b :
#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
-/
+#print FiniteDimensional.lt_aleph0_of_linearIndependent /-
theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
(h : LinearIndependent K v) : (#ι) < ℵ₀ :=
by
@@ -341,6 +342,7 @@ theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v
rw [← finrank_eq_rank, Cardinal.lift_aleph0, Cardinal.lift_natCast]
apply Cardinal.nat_lt_aleph0
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
+-/
#print LinearIndependent.finite /-
theorem LinearIndependent.finite [FiniteDimensional K V] {b : Set V}
@@ -491,7 +493,7 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank [FiniteDimensional
section
-open BigOperators
+open scoped BigOperators
open Finset
@@ -753,6 +755,7 @@ theorem fg_iff_finiteDimensional (s : Submodule K V) : s.FG ↔ FiniteDimensiona
#align submodule.fg_iff_finite_dimensional Submodule.fg_iff_finiteDimensional
-/
+#print Submodule.finiteDimensional_of_le /-
/-- A submodule contained in a finite-dimensional submodule is
finite-dimensional. -/
theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (h : S₁ ≤ S₂) :
@@ -762,6 +765,7 @@ theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(IsNoetherian.iff_rank_lt_aleph0.2
(lt_of_le_of_lt (rank_le_of_submodule _ _ h) (FiniteDimensional.rank_lt_aleph0 K S₂)))
#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_le
+-/
#print Submodule.finiteDimensional_inf_left /-
/-- The inf of two submodules, the first finite-dimensional, is
@@ -913,6 +917,7 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print FiniteDimensional.eq_of_le_of_finrank_le /-
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
@@ -922,13 +927,16 @@ theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(Submodule.comap_subtype_eq_top.1
(eq_top_of_finrank_eq (le_antisymm (comap (Submodule.subtype S₂) S₁).finrank_le hd)))
#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_le
+-/
+#print FiniteDimensional.eq_of_le_of_finrank_eq /-
/-- If a submodule is less than or equal to a finite-dimensional
submodule with the same dimension, they are equal. -/
theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₁ = finrank K S₂) : S₁ = S₂ :=
eq_of_le_of_finrank_le hle hd.ge
#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eq
+-/
variable [FiniteDimensional K V] [FiniteDimensional K V₂]
@@ -1222,11 +1230,13 @@ theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V =>
#align submodule.finrank_mono Submodule.finrank_mono
-/
+#print Submodule.finrank_lt_finrank_of_lt /-
theorem finrank_lt_finrank_of_lt {s t : Submodule K V} [FiniteDimensional K t] (hst : s < t) :
finrank K s < finrank K t :=
(comapSubtypeEquivOfLe hst.le).finrank_eq.symm.trans_lt <|
finrank_lt (le_top.lt_of_ne <| hst.not_le ∘ comap_subtype_eq_top.1)
#align submodule.finrank_lt_finrank_of_lt Submodule.finrank_lt_finrank_of_lt
+-/
#print Submodule.finrank_strictMono /-
theorem finrank_strictMono [FiniteDimensional K V] :
@@ -1634,6 +1644,7 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
-/
+#print Module.End.ker_pow_le_ker_pow_finrank /-
theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m : ℕ) :
(f ^ m).ker ≤ (f ^ finrank K V).ker :=
by
@@ -1643,6 +1654,7 @@ theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m :
· rw [ker_pow_eq_ker_pow_finrank_of_le (le_of_not_lt h_cases)]
exact le_rfl
#align module.End.ker_pow_le_ker_pow_finrank Module.End.ker_pow_le_ker_pow_finrank
+-/
end End
@@ -1652,7 +1664,7 @@ section Module
open Module
-open Cardinal
+open scoped Cardinal
#print cardinal_mk_eq_cardinal_mk_field_pow_rank /-
theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K] [AddCommGroup V]
@@ -1668,6 +1680,7 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
-/
+#print cardinal_lt_aleph0_of_finiteDimensional /-
theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [Finite K] [FiniteDimensional K V] : (#V) < ℵ₀ :=
by
@@ -1675,6 +1688,7 @@ theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K]
rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensional
+-/
end Module
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -107,12 +107,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-/- warning: finite_dimensional.of_injective -> FiniteDimensional.of_injective is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_injective FiniteDimensional.of_injectiveₓ'. -/
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
FiniteDimensional K V :=
@@ -120,12 +114,6 @@ theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDi
Module.Finite.of_injective f w
#align finite_dimensional.of_injective FiniteDimensional.of_injective
-/- warning: finite_dimensional.of_surjective -> FiniteDimensional.of_surjective is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_surjective FiniteDimensional.of_surjectiveₓ'. -/
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
FiniteDimensional K V₂ :=
@@ -219,12 +207,6 @@ instance finiteDimensional_quotient [FiniteDimensional K V] (S : Submodule K V)
variable (K V)
-/- warning: finite_dimensional.finrank_eq_rank' -> FiniteDimensional.finrank_eq_rank' is a dubious translation:
-lean 3 declaration is
- forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Eq.{succ (succ u2)} Cardinal.{u2} ((fun (a : Type) (b : Type.{succ u2}) [self : HasLiftT.{1, succ (succ u2)} a b] => self.0) Nat Cardinal.{u2} (HasLiftT.mk.{1, succ (succ u2)} Nat Cardinal.{u2} (CoeTCₓ.coe.{1, succ (succ u2)} Nat Cardinal.{u2} (Nat.castCoe.{succ u2} Cardinal.{u2} Cardinal.hasNatCast.{u2}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Module.rank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
-but is expected to have type
- forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Eq.{succ (succ u2)} Cardinal.{u2} (Nat.cast.{succ u2} Cardinal.{u2} Cardinal.instNatCastCardinal.{u2} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Module.rank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_eq_rank' FiniteDimensional.finrank_eq_rank'ₓ'. -/
/-- In a finite-dimensional space, its dimension (seen as a cardinal) coincides with its
`finrank`. This is a copy of `finrank_eq_rank _ _` which creates easier typeclass searches. -/
theorem finrank_eq_rank' [FiniteDimensional K V] : (finrank K V : Cardinal.{v}) = Module.rank K V :=
@@ -270,12 +252,6 @@ theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W]
#align finite_dimensional.finite_dimensional_iff_of_rank_eq_nsmul FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul
-/
-/- warning: finite_dimensional.finrank_eq_card_basis' -> FiniteDimensional.finrank_eq_card_basis' is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}}, (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (Eq.{succ (succ u3)} Cardinal.{u3} ((fun (a : Type) (b : Type.{succ u3}) [self : HasLiftT.{1, succ (succ u3)} a b] => self.0) Nat Cardinal.{u3} (HasLiftT.mk.{1, succ (succ u3)} Nat Cardinal.{u3} (CoeTCₓ.coe.{1, succ (succ u3)} Nat Cardinal.{u3} (Nat.castCoe.{succ u3} Cardinal.{u3} Cardinal.hasNatCast.{u3}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Cardinal.mk.{u3} ι))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}}, (Basis.{u3, u1, u2} ι K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (Eq.{succ (succ u3)} Cardinal.{u3} (Nat.cast.{succ u3} Cardinal.{u3} Cardinal.instNatCastCardinal.{u3} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Cardinal.mk.{u3} ι))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'ₓ'. -/
/-- If a vector space is finite-dimensional, then the cardinality of any basis is equal to its
`finrank`. -/
theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis ι K V) :
@@ -326,9 +302,6 @@ noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) :
#align finite_dimensional.basis_unique FiniteDimensional.basisUnique
-/
-/- warning: finite_dimensional.basis_unique.repr_eq_zero_iff -> FiniteDimensional.basisUnique.repr_eq_zero_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iffₓ'. -/
@[simp]
theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
(basisUnique ι h).repr v i = 0 ↔ v = 0 :=
@@ -337,12 +310,6 @@ theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V
fun hv => by rw [hv, LinearEquiv.map_zero, Finsupp.zero_apply]⟩
#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iff
-/- warning: finite_dimensional.cardinal_mk_le_finrank_of_linear_independent -> FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.hasLe.{u3} (Cardinal.mk.{u3} ι) ((fun (a : Type) (b : Type.{succ u3}) [self : HasLiftT.{1, succ (succ u3)} a b] => self.0) Nat Cardinal.{u3} (HasLiftT.mk.{1, succ (succ u3)} Nat Cardinal.{u3} (CoeTCₓ.coe.{1, succ (succ u3)} Nat Cardinal.{u3} (Nat.castCoe.{succ u3} Cardinal.{u3} Cardinal.hasNatCast.{u3}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.instLECardinal.{u3} (Cardinal.mk.{u3} ι) (Nat.cast.{succ u3} Cardinal.{u3} Cardinal.instNatCastCardinal.{u3} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependentₓ'. -/
theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
(h : LinearIndependent K b) : (#ι) ≤ finrank K V :=
by
@@ -351,12 +318,6 @@ theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι
cardinal_lift_le_rank_of_linearIndependent.{_, _, _, max v w} h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
-/- warning: finite_dimensional.fintype_card_le_finrank_of_linear_independent -> FiniteDimensional.fintype_card_le_finrank_of_linearIndependent is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} [_inst_7 : Fintype.{u3} ι] {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LE.le.{0} Nat Nat.hasLe (Fintype.card.{u3} ι _inst_7) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_6 : FiniteDimensional.{u2, u3} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u1}} [_inst_7 : Fintype.{u1} ι] {b : ι -> V}, (LinearIndependent.{u1, u2, u3} ι K V b (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) -> (LE.le.{0} Nat instLENat (Fintype.card.{u1} ι _inst_7) (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependentₓ'. -/
theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type _}
[Fintype ι] {b : ι → V} (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
simpa using cardinal_mk_le_finrank_of_linear_independent h
@@ -371,12 +332,6 @@ theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b :
#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
-/
-/- warning: finite_dimensional.lt_aleph_0_of_linear_independent -> FiniteDimensional.lt_aleph0_of_linearIndependent is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {v : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V v (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LT.lt.{succ u3} Cardinal.{u3} (Preorder.toHasLt.{succ u3} Cardinal.{u3} (PartialOrder.toPreorder.{succ u3} Cardinal.{u3} Cardinal.partialOrder.{u3})) (Cardinal.mk.{u3} ι) Cardinal.aleph0.{u3})
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {v : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V v (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LT.lt.{succ u3} Cardinal.{u3} (Preorder.toLT.{succ u3} Cardinal.{u3} (PartialOrder.toPreorder.{succ u3} Cardinal.{u3} Cardinal.partialOrder.{u3})) (Cardinal.mk.{u3} ι) Cardinal.aleph0.{u3})
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependentₓ'. -/
theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
(h : LinearIndependent K v) : (#ι) < ℵ₀ :=
by
@@ -405,12 +360,6 @@ theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [Fin
#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
-/
-/- warning: finite_dimensional.finrank_pos_iff_exists_ne_zero -> FiniteDimensional.finrank_pos_iff_exists_ne_zero is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Exists.{succ u2} V (fun (x : V) => Ne.{succ u2} V x (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Exists.{succ u2} V (fun (x : V) => Ne.{succ u2} V x (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zeroₓ'. -/
/-- A finite dimensional space has positive `finrank` iff it has a nonzero element. -/
theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
Iff.trans (by rw [← finrank_eq_rank]; norm_cast) (@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
@@ -438,12 +387,6 @@ theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingle
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
-/
-/- warning: finite_dimensional.eq_top_of_finrank_eq -> FiniteDimensional.eq_top_of_finrank_eq is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.eq_top_of_finrank_eq FiniteDimensional.eq_top_of_finrank_eqₓ'. -/
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
@@ -508,12 +451,6 @@ instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p]
variable {K}
-/- warning: complete_lattice.independent.subtype_ne_bot_le_finrank_aux -> CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.hasLe.{u3} (Cardinal.mk.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) ((fun (a : Type) (b : Type.{succ u3}) [self : HasLiftT.{1, succ (succ u3)} a b] => self.0) Nat Cardinal.{u3} (HasLiftT.mk.{1, succ (succ u3)} Nat Cardinal.{u3} (CoeTCₓ.coe.{1, succ (succ u3)} Nat Cardinal.{u3} (Nat.castCoe.{succ u3} Cardinal.{u3} Cardinal.hasNatCast.{u3}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.instLECardinal.{u3} (Cardinal.mk.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (Nat.cast.{succ u3} Cardinal.{u3} Cardinal.instNatCastCardinal.{u3} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_auxₓ'. -/
theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensional K V]
{ι : Type w} {p : ι → Submodule K V} (hp : CompleteLattice.Independent p) :
(#{ i // p i ≠ ⊥ }) ≤ (finrank K V : Cardinal.{w}) :=
@@ -528,12 +465,6 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
-/- warning: complete_lattice.independent.fintype_ne_bot_of_finite_dimensional -> CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align complete_lattice.independent.fintype_ne_bot_of_finite_dimensional CompleteLattice.Independent.fintypeNeBotOfFiniteDimensionalₓ'. -/
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
number of nontrivial subspaces in the family `p` is finite. -/
noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
@@ -548,12 +479,6 @@ noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
simp [Cardinal.nat_lt_aleph0]
#align complete_lattice.independent.fintype_ne_bot_of_finite_dimensional CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
-/- warning: complete_lattice.independent.subtype_ne_bot_le_finrank -> CompleteLattice.Independent.subtype_ne_bot_le_finrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (forall [_inst_7 : Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], LE.le.{0} Nat Nat.hasLe (Fintype.card.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_7) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (forall [_inst_7 : Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], LE.le.{0} Nat instLENat (Fintype.card.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_7) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align complete_lattice.independent.subtype_ne_bot_le_finrank CompleteLattice.Independent.subtype_ne_bot_le_finrankₓ'. -/
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
number of nontrivial subspaces in the family `p` is bounded above by the dimension of `V`.
@@ -570,12 +495,6 @@ open BigOperators
open Finset
-/- warning: finite_dimensional.exists_nontrivial_relation_of_rank_lt_card -> FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (Finset.card.{u2} V t)) -> (Exists.{max (succ u2) (succ u1)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (f e) e)) (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (Exists.{succ u2} V (fun (x : V) => Exists.{0} (Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) (fun (H : Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) => Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))))))))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (Finset.card.{u2} V t)) -> (Exists.{max (succ u1) (succ u2)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (f e) e)) (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (Exists.{succ u2} V (fun (x : V) => And (Membership.mem.{u2, u2} V (Finset.{u2} V) (Finset.instMembershipFinset.{u2} V) x t) (Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))))))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_cardₓ'. -/
/-- If a finset has cardinality larger than the dimension of the space,
then there is a nontrivial linear relation amongst its elements.
-/
@@ -607,12 +526,6 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
· refine' ⟨z, z.2, _⟩; dsimp only [f]; erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
-/- warning: finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card -> FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat Nat.hasLt (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Finset.card.{u2} V t)) -> (Exists.{max (succ u2) (succ u1)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (f e) e)) (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (And (Eq.{succ u1} K (Finset.sum.{u1, u2} K V (AddCommGroup.toAddCommMonoid.{u1} K (NonUnitalNonAssocRing.toAddCommGroup.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) t (fun (e : V) => f e)) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))) (Exists.{succ u2} V (fun (x : V) => Exists.{0} (Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) (fun (H : Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) => Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))))))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat instLTNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Finset.card.{u2} V t)) -> (Exists.{max (succ u1) (succ u2)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (f e) e)) (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (And (Eq.{succ u1} K (Finset.sum.{u1, u2} K V (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) t (fun (e : V) => f e)) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))))) (Exists.{succ u2} V (fun (x : V) => And (Membership.mem.{u2, u2} V (Finset.{u2} V) (Finset.instMembershipFinset.{u2} V) x t) (Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))))))))))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_cardₓ'. -/
/-- If a finset has cardinality larger than `finrank + 1`,
then there is a nontrivial linear relation amongst its elements,
such that the coefficients of the relation sum to zero.
@@ -702,9 +615,6 @@ variable {L : Type _} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
-/- warning: finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card -> FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_cardₓ'. -/
/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
available when working over an ordered field:
we can ensure a positive coefficient, not just a nonzero coefficient.
@@ -721,12 +631,6 @@ end
end
-/- warning: finite_dimensional.basis_singleton -> FiniteDimensional.basisSingleton is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (forall (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Basis.{u3, u1, u2} ι K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_singleton FiniteDimensional.basisSingletonₓ'. -/
/-- In a vector space with dimension 1, each set {v} is a basis for `v ≠ 0`. -/
@[simps]
noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
@@ -751,24 +655,12 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
exact mul_div_cancel _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
-/- warning: finite_dimensional.basis_singleton_apply -> FiniteDimensional.basisSingleton_apply is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (i : ι), Eq.{succ u2} V (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) => ι -> V) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (fun (_x : ι) => V) (Basis.funLike.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (FiniteDimensional.basisSingleton.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv) i) v
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] (ι : Type.{u1}) [_inst_6 : Unique.{succ u1} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (v : V) (hv : Ne.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2)))))))) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) i) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, succ u3} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) _x) (Basis.funLike.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (FiniteDimensional.basisSingleton.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv) i) v
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_applyₓ'. -/
@[simp]
theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
(i : ι) : basisSingleton ι h v hv i = v := by cases Unique.uniq ‹Unique ι› i;
simp [basis_singleton]
#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_apply
-/- warning: finite_dimensional.range_basis_singleton -> FiniteDimensional.range_basisSingleton is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Eq.{succ u2} (Set.{u2} V) (Set.range.{u2, succ u3} V ι (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) => ι -> V) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (fun (_x : ι) => V) (Basis.funLike.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (FiniteDimensional.basisSingleton.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv))) (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v)
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] (ι : Type.{u1}) [_inst_6 : Unique.{succ u1} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (v : V) (hv : Ne.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2)))))))), Eq.{succ u3} (Set.{u3} V) (Set.range.{u3, succ u1} V ι (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, succ u3} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) _x) (Basis.funLike.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (FiniteDimensional.basisSingleton.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv))) (Singleton.singleton.{u3, u3} V (Set.{u3} V) (Set.instSingletonSet.{u3} V) v)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.range_basis_singleton FiniteDimensional.range_basisSingletonₓ'. -/
@[simp]
theorem range_basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0) :
Set.range (basisSingleton ι h v hv) = {v} := by rw [Set.range_unique, basis_singleton_apply]
@@ -786,12 +678,6 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
-/- warning: finite_dimensional_of_rank_eq_nat -> finiteDimensional_of_rank_eq_nat is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {n : Nat}, (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ((fun (a : Type) (b : Type.{succ u2}) [self : HasLiftT.{1, succ (succ u2)} a b] => self.0) Nat Cardinal.{u2} (HasLiftT.mk.{1, succ (succ u2)} Nat Cardinal.{u2} (CoeTCₓ.coe.{1, succ (succ u2)} Nat Cardinal.{u2} (Nat.castCoe.{succ u2} Cardinal.{u2} Cardinal.hasNatCast.{u2}))) n)) -> (FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {n : Nat}, (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Nat.cast.{succ u2} Cardinal.{u2} Cardinal.instNatCastCardinal.{u2} n)) -> (FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_natₓ'. -/
theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
FiniteDimensional K V :=
by
@@ -822,24 +708,12 @@ theorem finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V] (h : Module.rank
variable (K V)
-/- warning: finite_dimensional_bot -> finiteDimensional_bot is a dubious translation:
-lean 3 declaration is
- forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align finite_dimensional_bot finiteDimensional_botₓ'. -/
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
finiteDimensional_of_rank_eq_zero <| by simp
#align finite_dimensional_bot finiteDimensional_bot
variable {K V}
-/- warning: bot_eq_top_of_rank_eq_zero -> bot_eq_top_of_rank_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (OfNat.mk.{succ u2} Cardinal.{u2} 0 (Zero.zero.{succ u2} Cardinal.{u2} Cardinal.hasZero.{u2})))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (Zero.toOfNat0.{succ u2} Cardinal.{u2} Cardinal.instZeroCardinal.{u2}))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zeroₓ'. -/
theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
by
haveI := finiteDimensional_of_rank_eq_zero h
@@ -847,12 +721,6 @@ theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule
rw [finrank_bot, finrank_eq_zero_of_rank_eq_zero h]
#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zero
-/- warning: rank_eq_zero -> rank_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, Iff (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommMonoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (OfNat.mk.{succ u2} Cardinal.{u2} 0 (Zero.zero.{succ u2} Cardinal.{u2} Cardinal.hasZero.{u2})))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, Iff (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommMonoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (Zero.toOfNat0.{succ u2} Cardinal.{u2} Cardinal.instZeroCardinal.{u2}))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align rank_eq_zero rank_eq_zeroₓ'. -/
@[simp]
theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
⟨fun h =>
@@ -863,12 +731,6 @@ theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
fun h => by rw [h, rank_bot]⟩
#align rank_eq_zero rank_eq_zero
-/- warning: finrank_eq_zero -> finrank_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align finrank_eq_zero finrank_eq_zeroₓ'. -/
@[simp]
theorem finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] : finrank K S = 0 ↔ S = ⊥ := by
rw [← rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
@@ -891,12 +753,6 @@ theorem fg_iff_finiteDimensional (s : Submodule K V) : s.FG ↔ FiniteDimensiona
#align submodule.fg_iff_finite_dimensional Submodule.fg_iff_finiteDimensional
-/
-/- warning: submodule.finite_dimensional_of_le -> Submodule.finiteDimensional_of_le is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))
-Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_leₓ'. -/
/-- A submodule contained in a finite-dimensional submodule is
finite-dimensional. -/
theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (h : S₁ ≤ S₂) :
@@ -925,9 +781,6 @@ instance finiteDimensional_inf_right (S₁ S₂ : Submodule K V) [FiniteDimensio
#align submodule.finite_dimensional_inf_right Submodule.finiteDimensional_inf_right
-/
-/- warning: submodule.finite_dimensional_sup -> Submodule.finiteDimensional_sup is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_sup Submodule.finiteDimensional_supₓ'. -/
/-- The sup of two finite-dimensional submodules is
finite-dimensional. -/
instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensional K S₁]
@@ -938,9 +791,6 @@ instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensi
exact (fg_top _).2 (((fg_top S₁).1 h₁).sup ((fg_top S₂).1 h₂))
#align submodule.finite_dimensional_sup Submodule.finiteDimensional_sup
-/- warning: submodule.finite_dimensional_finset_sup -> Submodule.finiteDimensional_finset_sup is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_supₓ'. -/
/-- The submodule generated by a finite supremum of finite dimensional submodules is
finite-dimensional.
@@ -956,12 +806,6 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
exact Submodule.finiteDimensional_sup S₁ S₂
#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_sup
-/- warning: submodule.finite_dimensional_supr -> Submodule.finiteDimensional_iSup is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (S i)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (iSup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (iSup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
-Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_supr Submodule.finiteDimensional_iSupₓ'. -/
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
sort is finite-dimensional. -/
instance finiteDimensional_iSup {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
@@ -984,12 +828,6 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
-/
-/- warning: submodule.finrank_lt -> Submodule.finrank_lt is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.finrank_lt Submodule.finrank_ltₓ'. -/
/-- The dimension of a strict submodule is strictly bounded by the dimension of the ambient
space. -/
theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
@@ -1013,17 +851,11 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
-/
-/- warning: submodule.finrank_add_le_finrank_add_finrank -> Submodule.finrank_add_le_finrank_add_finrank is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrankₓ'. -/
theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t := by
rw [← finrank_sup_add_finrank_inf_eq]; exact self_le_add_right _ _
#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrank
-/- warning: submodule.eq_top_of_disjoint -> Submodule.eq_top_of_disjoint is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjointₓ'. -/
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
(hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ :=
by
@@ -1067,12 +899,6 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-/- warning: finite_dimensional_finsupp -> finiteDimensional_finsupp is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_4 : Finite.{succ u3} ι] [h : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, max u3 u2} K (Finsupp.{u3, u2} ι V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))) _inst_1 (Finsupp.addCommGroup.{u3, u2} ι V _inst_2) (Finsupp.module.{u3, u2, u1} ι V K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_4 : Finite.{succ u3} ι] [h : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, max u2 u3} K (Finsupp.{u3, u2} ι V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))) _inst_1 (Finsupp.addCommGroup.{u3, u2} ι V _inst_2) (Finsupp.module.{u3, u2, u1} ι V K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional_finsupp finiteDimensional_finsuppₓ'. -/
instance finiteDimensional_finsupp {ι : Type _} [Finite ι] [h : FiniteDimensional K V] :
FiniteDimensional K (ι →₀ V) :=
(Finsupp.linearEquivFunOnFinite K V ι).symm.FiniteDimensional
@@ -1087,12 +913,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-/- warning: finite_dimensional.eq_of_le_of_finrank_le -> FiniteDimensional.eq_of_le_of_finrank_le is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_leₓ'. -/
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
@@ -1103,12 +923,6 @@ theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(eq_top_of_finrank_eq (le_antisymm (comap (Submodule.subtype S₂) S₁).finrank_le hd)))
#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_le
-/- warning: finite_dimensional.eq_of_le_of_finrank_eq -> FiniteDimensional.eq_of_le_of_finrank_eq is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eqₓ'. -/
/-- If a submodule is less than or equal to a finite-dimensional
submodule with the same dimension, they are equal. -/
theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
@@ -1156,12 +970,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-/- warning: linear_map.surjective_of_injective -> LinearMap.surjective_of_injective is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
-Case conversion may be inaccurate. Consider using '#align linear_map.surjective_of_injective LinearMap.surjective_of_injectiveₓ'. -/
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
@@ -1170,12 +978,6 @@ theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hin
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
-/- warning: linear_map.finite_dimensional_of_surjective -> LinearMap.finiteDimensional_of_surjective is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
-Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjectiveₓ'. -/
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K] V₂)
(hf : f.range = ⊤) : FiniteDimensional K V₂ :=
@@ -1190,12 +992,6 @@ instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂)
#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_range
-/
-/- warning: linear_map.injective_iff_surjective -> LinearMap.injective_iff_surjective is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
-Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjectiveₓ'. -/
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
Injective f ↔ Surjective f :=
@@ -1206,12 +1002,6 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
this).Injective⟩
#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjective
-/- warning: linear_map.ker_eq_bot_iff_range_eq_top -> LinearMap.ker_eq_bot_iff_range_eq_top is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_topₓ'. -/
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
f.ker = ⊥ ↔ f.range = ⊤ := by rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_top
@@ -1268,38 +1058,23 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
variable [FiniteDimensional K V]
-/- warning: linear_equiv.of_injective_endo -> LinearEquiv.ofInjectiveEndo is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
-Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndoₓ'. -/
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
LinearEquiv.ofBijective f ⟨h_inj, LinearMap.injective_iff_surjective.mp h_inj⟩
#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndo
-/- warning: linear_equiv.coe_of_injective_endo -> LinearEquiv.coe_ofInjectiveEndo is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndoₓ'. -/
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
⇑(ofInjectiveEndo f h_inj) = f :=
rfl
#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndo
-/- warning: linear_equiv.of_injective_endo_right_inv -> LinearEquiv.ofInjectiveEndo_right_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
f * (ofInjectiveEndo f h_inj).symm = 1 :=
LinearMap.ext <| (ofInjectiveEndo f h_inj).apply_symm_apply
#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_inv
-/- warning: linear_equiv.of_injective_endo_left_inv -> LinearEquiv.ofInjectiveEndo_left_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
((ofInjectiveEndo f h_inj).symm : V →ₗ[K] V) * f = 1 :=
@@ -1312,12 +1087,6 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-/- warning: linear_map.is_unit_iff_ker_eq_bot -> LinearMap.isUnit_iff_ker_eq_bot is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_botₓ'. -/
theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.ker = ⊥ :=
by
constructor
@@ -1331,12 +1100,6 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
rfl⟩
#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_bot
-/- warning: linear_map.is_unit_iff_range_eq_top -> LinearMap.isUnit_iff_range_eq_top is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_topₓ'. -/
theorem isUnit_iff_range_eq_top [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.range = ⊤ :=
by rw [is_unit_iff_ker_eq_bot, ker_eq_bot_iff_range_eq_top]
#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_top
@@ -1349,12 +1112,6 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-/- warning: finrank_zero_iff_forall_zero -> finrank_zero_iff_forall_zero is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (forall (x : V), Eq.{succ u2} V x (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (forall (x : V), Eq.{succ u2} V x (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))
-Case conversion may be inaccurate. Consider using '#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zeroₓ'. -/
theorem finrank_zero_iff_forall_zero [FiniteDimensional K V] : finrank K V = 0 ↔ ∀ x : V, x = 0 :=
finrank_zero_iff.trans (subsingleton_iff_forall_eq 0)
#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zero
@@ -1375,9 +1132,6 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-/- warning: linear_map.injective_iff_surjective_of_finrank_eq_finrank -> LinearMap.injective_iff_surjective_of_finrank_eq_finrank is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrankₓ'. -/
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
Function.Injective f ↔ Function.Surjective f :=
@@ -1388,21 +1142,12 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
· rw [h, finrank_top, H] at this; exact finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
-/- warning: linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank -> LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrankₓ'. -/
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
f.ker = ⊥ ↔ f.range = ⊤ := by
rw [range_eq_top, ker_eq_bot, injective_iff_surjective_of_finrank_eq_finrank H]
#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank
-/- warning: linear_map.linear_equiv_of_injective -> LinearMap.linearEquivOfInjective is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
-Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjectiveₓ'. -/
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
between the two vector spaces. -/
@@ -1412,9 +1157,6 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
⟨hf, (LinearMap.injective_iff_surjective_of_finrank_eq_finrank hdim).mp hf⟩
#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjective
-/- warning: linear_map.linear_equiv_of_injective_apply -> LinearMap.linearEquivOfInjective_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_applyₓ'. -/
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
{f : V →ₗ[K] V₂} (hf : Injective f) (hdim : finrank K V = finrank K V₂) (x : V) :
@@ -1469,12 +1211,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-/- warning: submodule.eq_top_of_finrank_eq -> Submodule.eq_top_of_finrank_eq is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eqₓ'. -/
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
(h : finrank K S = finrank K V) : S = ⊤ :=
FiniteDimensional.eq_of_le_of_finrank_eq le_top (by simp [h, finrank_top])
@@ -1486,12 +1222,6 @@ theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V =>
#align submodule.finrank_mono Submodule.finrank_mono
-/
-/- warning: submodule.finrank_lt_finrank_of_lt -> Submodule.finrank_lt_finrank_of_lt is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {t : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], (LT.lt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) -> (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {t : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], (LT.lt.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) -> (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
-Case conversion may be inaccurate. Consider using '#align submodule.finrank_lt_finrank_of_lt Submodule.finrank_lt_finrank_of_ltₓ'. -/
theorem finrank_lt_finrank_of_lt {s t : Submodule K V} [FiniteDimensional K t] (hst : s < t) :
finrank K s < finrank K t :=
(comapSubtypeEquivOfLe hst.le).finrank_eq.symm.trans_lt <|
@@ -1526,12 +1256,6 @@ section Span
open Submodule
-/- warning: finrank_span_singleton -> finrank_span_singleton is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {v : V}, (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {v : V}, (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v)))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v)))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))
-Case conversion may be inaccurate. Consider using '#align finrank_span_singleton finrank_span_singletonₓ'. -/
theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1 :=
by
apply le_antisymm
@@ -1552,12 +1276,6 @@ end Span
section Basis
-/- warning: span_eq_top_of_linear_independent_of_card_eq_finrank -> span_eq_top_of_linearIndependent_of_card_eq_finrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [hι : Nonempty.{succ u3} ι] [_inst_4 : Fintype.{u3} ι] {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (Eq.{1} Nat (Fintype.card.{u3} ι _inst_4) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Set.range.{u2, succ u3} V ι b)) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [hι : Nonempty.{succ u1} ι] [_inst_4 : Fintype.{u1} ι] {b : ι -> V}, (LinearIndependent.{u1, u2, u3} ι K V b (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) -> (Eq.{1} Nat (Fintype.card.{u1} ι _inst_4) (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u3} (Submodule.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Submodule.span.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3 (Set.range.{u3, succ u1} V ι b)) (Top.top.{u3} (Submodule.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrankₓ'. -/
theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι : Nonempty ι]
[Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
(card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ :=
@@ -1587,12 +1305,6 @@ noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempt
#align basis_of_linear_independent_of_card_eq_finrank basisOfLinearIndependentOfCardEqFinrank
-/
-/- warning: coe_basis_of_linear_independent_of_card_eq_finrank -> coe_basisOfLinearIndependentOfCardEqFinrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_4 : Nonempty.{succ u3} ι] [_inst_5 : Fintype.{u3} ι] {b : ι -> V} (lin_ind : LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (card_eq : Eq.{1} Nat (Fintype.card.{u3} ι _inst_5) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)), Eq.{max (succ u3) (succ u2)} (ι -> V) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) => ι -> V) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (fun (_x : ι) => V) (Basis.funLike.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (basisOfLinearIndependentOfCardEqFinrank.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_4 _inst_5 b lin_ind card_eq)) b
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [_inst_4 : Nonempty.{succ u1} ι] [_inst_5 : Fintype.{u1} ι] {b : ι -> V} (lin_ind : LinearIndependent.{u1, u2, u3} ι K V b (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (card_eq : Eq.{1} Nat (Fintype.card.{u1} ι _inst_5) (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3)), Eq.{max (succ u3) (succ u1)} (forall (a : ι), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) a) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, succ u3} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) _x) (Basis.funLike.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (basisOfLinearIndependentOfCardEqFinrank.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_4 _inst_5 b lin_ind card_eq)) b
-Case conversion may be inaccurate. Consider using '#align coe_basis_of_linear_independent_of_card_eq_finrank coe_basisOfLinearIndependentOfCardEqFinrankₓ'. -/
@[simp]
theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
@@ -1647,12 +1359,6 @@ We now give characterisations of `finrank K V = 1` and `finrank K V ≤ 1`.
section finrank_eq_one
-/- warning: finrank_eq_one_iff_of_nonzero -> finrank_eq_one_iff_of_nonzero is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v)) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v)) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzeroₓ'. -/
/-- A vector space with a nonzero vector `v` has dimension 1 iff `v` spans.
-/
theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
@@ -1661,12 +1367,6 @@ theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
finrank_eq_card_basis (Basis.mk (linearIndependent_singleton nz) (by convert s; simp))⟩
#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzero
-/- warning: finrank_eq_one_iff_of_nonzero' -> finrank_eq_one_iff_of_nonzero' is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) c v) w)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) c v) w)))
-Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff_of_nonzero' finrank_eq_one_iff_of_nonzero'ₓ'. -/
/-- A module with a nonzero vector `v` has dimension 1 iff every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
@@ -1676,12 +1376,6 @@ theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
apply span_singleton_eq_top_iff
#align finrank_eq_one_iff_of_nonzero' finrank_eq_one_iff_of_nonzero'
-/- warning: finrank_eq_one_iff -> finrank_eq_one_iff is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_4 : Unique.{succ u3} ι], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Nonempty.{max (succ u3) (succ u1) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] (ι : Type.{u1}) [_inst_4 : Unique.{succ u1} ι], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nonempty.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))
-Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff finrank_eq_one_iffₓ'. -/
/-- A module has dimension 1 iff there is some `v : V` so `{v}` is a basis.
-/
theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonempty (Basis ι K V) :=
@@ -1694,12 +1388,6 @@ theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonem
simpa using finrank_eq_card_basis b
#align finrank_eq_one_iff finrank_eq_one_iff
-/- warning: finrank_eq_one_iff' -> finrank_eq_one_iff' is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Exists.{succ u2} V (fun (v : V) => Exists.{0} (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (fun (n : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) => forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) c v) w))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Exists.{succ u2} V (fun (v : V) => Exists.{0} (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (fun (n : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) => forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) c v) w))))
-Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff' finrank_eq_one_iff'ₓ'. -/
/-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ (v : V)(n : v ≠ 0), ∀ w : V, ∃ c : K, c • v = w :=
@@ -1739,21 +1427,12 @@ theorem Submodule.finrank_le_one_iff_isPrincipal (W : Submodule K V) [FiniteDime
#align submodule.finrank_le_one_iff_is_principal Submodule.finrank_le_one_iff_isPrincipal
-/
-/- warning: module.finrank_le_one_iff_top_is_principal -> Module.finrank_le_one_iff_top_isPrincipal is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Submodule.IsPrincipal.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Submodule.IsPrincipal.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipalₓ'. -/
theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
finrank K V ≤ 1 ↔ (⊤ : Submodule K V).IsPrincipal := by
rw [← Module.rank_le_one_iff_top_isPrincipal, ← finrank_eq_rank, ← Cardinal.natCast_le,
Nat.cast_one]
#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipal
-/- warning: surjective_of_nonzero_of_finrank_eq_one -> surjective_of_nonzero_of_finrank_eq_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_oneₓ'. -/
-- We use the `linear_map.compatible_smul` typeclass here, to encompass two situations:
-- * `A = K`
-- * `[field K] [algebra K A] [is_scalar_tower K A V] [is_scalar_tower K A W]`
@@ -1768,12 +1447,6 @@ theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type _} [Semiring A] [Mod
exact ⟨c • v, by simp⟩
#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_one
-/- warning: is_simple_module_of_finrank_eq_one -> is_simple_module_of_finrank_eq_one is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {A : Type.{u3}} [_inst_4 : Semiring.{u3} A] [_inst_5 : Module.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : SMul.{u1, u3} K A] [_inst_7 : IsScalarTower.{u1, u3, u2} K A V _inst_6 (SMulZeroClass.toHasSmul.{u3, u2} A V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u3, u2} A V (MulZeroClass.toHasZero.{u3} A (MulZeroOneClass.toMulZeroClass.{u3} A (MonoidWithZero.toMulZeroOneClass.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u3, u2} A V (Semiring.toMonoidWithZero.{u3} A _inst_4) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (IsSimpleOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Preorder.toHasLe.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_6 : SMul.{u2, u1} K A] [_inst_7 : IsScalarTower.{u2, u1, u3} K A V _inst_6 (SMulZeroClass.toSMul.{u1, u3} A V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u3} A V (MonoidWithZero.toZero.{u1} A (Semiring.toMonoidWithZero.{u1} A _inst_4)) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A V (Semiring.toMonoidWithZero.{u1} A _inst_4) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5)))) (SMulZeroClass.toSMul.{u2, u3} K V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} K V (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K V (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (IsSimpleOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Preorder.toLE.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Submodule.completeLattice.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Submodule.completeLattice.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5)))
-Case conversion may be inaccurate. Consider using '#align is_simple_module_of_finrank_eq_one is_simple_module_of_finrank_eq_oneₓ'. -/
/-- Any `K`-algebra module that is 1-dimensional over `K` is simple. -/
theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K A]
[IsScalarTower K A V] (h : finrank K V = 1) : IsSimpleOrder (Submodule A V) :=
@@ -1796,21 +1469,12 @@ open Module
variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
-/- warning: subalgebra.finite_dimensional_to_submodule -> Subalgebra.finiteDimensional_toSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmoduleₓ'. -/
/-- A `subalgebra` is `finite_dimensional` iff it is finite_dimensional as a submodule. -/
theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
FiniteDimensional F S.toSubmodule ↔ FiniteDimensional F S :=
Iff.rfl
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
-/- warning: finite_dimensional.of_subalgebra_to_submodule -> FiniteDimensional.of_subalgebra_toSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmoduleₓ'. -/
-/- warning: finite_dimensional.subalgebra_to_submodule -> FiniteDimensional.subalgebra_toSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmoduleₓ'. -/
alias Subalgebra.finiteDimensional_toSubmodule ↔
FiniteDimensional.of_subalgebra_toSubmodule FiniteDimensional.subalgebra_toSubmodule
#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmodule
@@ -1829,12 +1493,6 @@ instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebr
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
-/
-/- warning: subalgebra.eq_bot_of_rank_le_one -> Subalgebra.eq_bot_of_rank_le_one is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (LE.le.{succ u2} Cardinal.{u2} Cardinal.hasLe.{u2} (Module.rank.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S))))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (OfNat.mk.{succ u2} Cardinal.{u2} 1 (One.one.{succ u2} Cardinal.{u2} Cardinal.hasOne.{u2})))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
-but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (LE.le.{succ u1} Cardinal.{u1} Cardinal.instLECardinal.{u1} (Module.rank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Ring.toNonAssocRing.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S))))) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u1} Cardinal.{u1} 1 (One.toOfNat1.{succ u1} Cardinal.{u1} Cardinal.instOneCardinal.{u1}))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align subalgebra.eq_bot_of_rank_le_one Subalgebra.eq_bot_of_rank_le_oneₓ'. -/
theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) : S = ⊥ :=
by
nontriviality E
@@ -1847,12 +1505,6 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
exact h.trans_eq subalgebra.rank_bot.symm
#align subalgebra.eq_bot_of_rank_le_one Subalgebra.eq_bot_of_rank_le_one
-/- warning: subalgebra.eq_bot_of_finrank_one -> Subalgebra.eq_bot_of_finrank_one is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
-but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_oneₓ'. -/
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
Subalgebra.eq_bot_of_rank_le_one <| by haveI := finite_dimensional_of_finrank_eq_succ h;
rw [← finrank_eq_rank, h, Nat.cast_one]
@@ -1874,55 +1526,25 @@ theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
#align subalgebra.finrank_eq_one_iff Subalgebra.finrank_eq_one_iff
-/
-/- warning: subalgebra.bot_eq_top_iff_rank_eq_one -> Subalgebra.bot_eq_top_iff_rank_eq_one is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (OfNat.mk.{succ u2} Cardinal.{u2} 1 (One.one.{succ u2} Cardinal.{u2} Cardinal.hasOne.{u2}))))
-but is expected to have type
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (One.toOfNat1.{succ u2} Cardinal.{u2} Cardinal.instOneCardinal.{u2})))
-Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_oneₓ'. -/
theorem Subalgebra.bot_eq_top_iff_rank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 := by
rw [← rank_top, ← subalgebra_top_rank_eq_submodule_top_rank, Subalgebra.rank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_one
-/- warning: subalgebra.bot_eq_top_iff_finrank_eq_one -> Subalgebra.bot_eq_top_iff_finrank_eq_one is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))
-but is expected to have type
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (Ring.toAddCommGroup.{u2} E _inst_2) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))
-Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_oneₓ'. -/
theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ finrank F E = 1 := by
rw [← finrank_top, ← subalgebra_top_finrank_eq_submodule_top_finrank,
Subalgebra.finrank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_one
-/- warning: subalgebra.bot_eq_top_of_rank_eq_one -> Subalgebra.bot_eq_top_of_rank_eq_one is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (OfNat.mk.{succ u2} Cardinal.{u2} 1 (One.one.{succ u2} Cardinal.{u2} Cardinal.hasOne.{u2})))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
-but is expected to have type
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (One.toOfNat1.{succ u2} Cardinal.{u2} Cardinal.instOneCardinal.{u2}))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_oneₓ'. -/
alias Subalgebra.bot_eq_top_iff_rank_eq_one ↔ _ Subalgebra.bot_eq_top_of_rank_eq_one
#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
-/- warning: subalgebra.bot_eq_top_of_finrank_eq_one -> Subalgebra.bot_eq_top_of_finrank_eq_one is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
-but is expected to have type
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (Ring.toAddCommGroup.{u2} E _inst_2) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_oneₓ'. -/
alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_finrank_eq_one
#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_one
attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
-/- warning: subalgebra.is_simple_order_of_finrank -> Subalgebra.isSimpleOrder_of_finrank is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (IsSimpleOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))
-but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F E (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (IsSimpleOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))
-Case conversion may be inaccurate. Consider using '#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrankₓ'. -/
theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
IsSimpleOrder (Subalgebra F E) :=
let i := nontrivial_of_finrank_pos (zero_lt_two.trans_eq hr.symm)
@@ -2012,9 +1634,6 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
-/
-/- warning: module.End.ker_pow_le_ker_pow_finrank -> Module.End.ker_pow_le_ker_pow_finrank is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_le_ker_pow_finrank Module.End.ker_pow_le_ker_pow_finrankₓ'. -/
theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m : ℕ) :
(f ^ m).ker ≤ (f ^ finrank K V).ker :=
by
@@ -2049,12 +1668,6 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
-/
-/- warning: cardinal_lt_aleph_0_of_finite_dimensional -> cardinal_lt_aleph0_of_finiteDimensional is a dubious translation:
-lean 3 declaration is
- forall (K : Type.{u1}) (V : Type.{u1}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u1, u1} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : Finite.{succ u1} K] [_inst_5 : FiniteDimensional.{u1, u1} K V _inst_1 _inst_2 _inst_3], LT.lt.{succ u1} Cardinal.{u1} (Preorder.toHasLt.{succ u1} Cardinal.{u1} (PartialOrder.toPreorder.{succ u1} Cardinal.{u1} Cardinal.partialOrder.{u1})) (Cardinal.mk.{u1} V) Cardinal.aleph0.{u1}
-but is expected to have type
- forall (K : Type.{u1}) (V : Type.{u1}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u1, u1} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : Finite.{succ u1} K] [_inst_5 : FiniteDimensional.{u1, u1} K V _inst_1 _inst_2 _inst_3], LT.lt.{succ u1} Cardinal.{u1} (Preorder.toLT.{succ u1} Cardinal.{u1} (PartialOrder.toPreorder.{succ u1} Cardinal.{u1} Cardinal.partialOrder.{u1})) (Cardinal.mk.{u1} V) Cardinal.aleph0.{u1}
-Case conversion may be inaccurate. Consider using '#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensionalₓ'. -/
theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [Finite K] [FiniteDimensional K V] : (#V) < ℵ₀ :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -156,11 +156,8 @@ noncomputable def fintypeOfFintype [Fintype K] [FiniteDimensional K V] : Fintype
-/
#print FiniteDimensional.finite_of_finite /-
-theorem finite_of_finite [Finite K] [FiniteDimensional K V] : Finite V :=
- by
- cases nonempty_fintype K
- haveI := fintype_of_fintype K V
- infer_instance
+theorem finite_of_finite [Finite K] [FiniteDimensional K V] : Finite V := by
+ cases nonempty_fintype K; haveI := fintype_of_fintype K V; infer_instance
#align finite_dimensional.finite_of_finite FiniteDimensional.finite_of_finite
-/
@@ -168,13 +165,8 @@ variable {K V}
#print FiniteDimensional.of_fintype_basis /-
/-- If a vector space has a finite basis, then it is finite-dimensional. -/
-theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDimensional K V :=
- by
- cases nonempty_fintype ι
- exact
- ⟨⟨finset.univ.image h, by
- convert h.span_eq
- simp⟩⟩
+theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDimensional K V := by
+ cases nonempty_fintype ι; exact ⟨⟨finset.univ.image h, by convert h.span_eq; simp⟩⟩
#align finite_dimensional.of_fintype_basis FiniteDimensional.of_fintype_basis
-/
@@ -248,10 +240,8 @@ theorem finrank_of_infinite_dimensional (h : ¬FiniteDimensional K V) : finrank
-/
#print FiniteDimensional.finiteDimensional_of_finrank /-
-theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V :=
- by
- contrapose h
- simp [finrank_of_infinite_dimensional h]
+theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V := by
+ contrapose h; simp [finrank_of_infinite_dimensional h]
#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.finiteDimensional_of_finrank
-/
@@ -423,21 +413,13 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zeroₓ'. -/
/-- A finite dimensional space has positive `finrank` iff it has a nonzero element. -/
theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
- Iff.trans
- (by
- rw [← finrank_eq_rank]
- norm_cast)
- (@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
+ Iff.trans (by rw [← finrank_eq_rank]; norm_cast) (@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zero
#print FiniteDimensional.finrank_pos_iff /-
/-- A finite dimensional space has positive `finrank` iff it is nontrivial. -/
theorem finrank_pos_iff [FiniteDimensional K V] : 0 < finrank K V ↔ Nontrivial V :=
- Iff.trans
- (by
- rw [← finrank_eq_rank]
- norm_cast)
- (@rank_pos_iff_nontrivial K V _ _ _ _ _)
+ Iff.trans (by rw [← finrank_eq_rank]; norm_cast) (@rank_pos_iff_nontrivial K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff FiniteDimensional.finrank_pos_iff
-/
@@ -452,11 +434,7 @@ theorem finrank_pos [FiniteDimensional K V] [h : Nontrivial V] : 0 < finrank K V
/-- A finite dimensional space has zero `finrank` iff it is a subsingleton.
This is the `finrank` version of `rank_zero_iff`. -/
theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingleton V :=
- Iff.trans
- (by
- rw [← finrank_eq_rank]
- norm_cast)
- (@rank_zero_iff K V _ _ _ _ _)
+ Iff.trans (by rw [← finrank_eq_rank]; norm_cast) (@rank_zero_iff K V _ _ _ _ _)
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
-/
@@ -614,27 +592,19 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
· dsimp [f]
rw [← Sum]
fapply sum_bij_ne_zero fun v hvt _ => (⟨v, hvt⟩ : { v // v ∈ t })
- · intro v hvt H
- dsimp
+ · intro v hvt H; dsimp
rw [dif_pos hvt] at H
contrapose! H
rw [if_neg H, zero_smul]
- · intro _ _ _ _ _ _
- exact Subtype.mk.inj
+ · intro _ _ _ _ _ _; exact Subtype.mk.inj
· intro b hbs hb
use b
simpa only [hbs, exists_prop, dif_pos, Finset.mk_coe, and_true_iff, if_true, Finset.coe_mem,
eq_self_iff_true, exists_prop_of_true, Ne.def] using hb
- · intro a h₁
- dsimp
- rw [dif_pos h₁]
- intro h₂
- rw [if_pos]
- contrapose! h₂
+ · intro a h₁; dsimp; rw [dif_pos h₁]
+ intro h₂; rw [if_pos]; contrapose! h₂
rw [if_neg h₂, zero_smul]
- · refine' ⟨z, z.2, _⟩
- dsimp only [f]
- erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
+ · refine' ⟨z, z.2, _⟩; dsimp only [f]; erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
/- warning: finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card -> FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card is a dubious translation:
@@ -721,8 +691,7 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
simp only [x₁_mem, sub_add_cancel, Function.Embedding.coeFn_mk]
· dsimp only [f]
rwa [if_neg, add_sub_cancel]
- rw [add_left_eq_self]
- rintro rfl
+ rw [add_left_eq_self]; rintro rfl
simpa only [sub_eq_zero, exists_prop, Finset.mem_map, embedding.coe_fn_mk, eq_self_iff_true,
mem_erase, not_true, exists_eq_right, Ne.def, false_and_iff] using x₁_mem
#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card
@@ -790,9 +759,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_applyₓ'. -/
@[simp]
theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
- (i : ι) : basisSingleton ι h v hv i = v :=
- by
- cases Unique.uniq ‹Unique ι› i
+ (i : ι) : basisSingleton ι h v hv i = v := by cases Unique.uniq ‹Unique ι› i;
simp [basis_singleton]
#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_apply
@@ -1050,10 +1017,8 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
<too large>
Case conversion may be inaccurate. Consider using '#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrankₓ'. -/
theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
- [FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t :=
- by
- rw [← finrank_sup_add_finrank_inf_eq]
- exact self_le_add_right _ _
+ [FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t := by
+ rw [← finrank_sup_add_finrank_inf_eq]; exact self_le_add_right _ _
#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrank
/- warning: submodule.eq_top_of_disjoint -> Submodule.eq_top_of_disjoint is a dubious translation:
@@ -1286,10 +1251,8 @@ theorem comp_eq_id_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f.comp g
/-- rank-nullity theorem : the dimensions of the kernel and the range of a linear map add up to
the dimension of the source space. -/
theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
- finrank K f.range + finrank K f.ker = finrank K V :=
- by
- rw [← f.quot_ker_equiv_range.finrank_eq]
- exact Submodule.finrank_quotient_add_finrank _
+ finrank K f.range + finrank K f.ker = finrank K V := by
+ rw [← f.quot_ker_equiv_range.finrank_eq]; exact Submodule.finrank_quotient_add_finrank _
#align linear_map.finrank_range_add_finrank_ker LinearMap.finrank_range_add_finrank_ker
-/
@@ -1360,8 +1323,7 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
constructor
· rintro ⟨u, rfl⟩
exact LinearMap.ker_eq_bot_of_inverse u.inv_mul
- · intro h_inj
- rw [ker_eq_bot] at h_inj
+ · intro h_inj; rw [ker_eq_bot] at h_inj
exact
⟨⟨f, (LinearEquiv.ofInjectiveEndo f h_inj).symm.toLinearMap,
LinearEquiv.ofInjectiveEndo_right_inv f h_inj,
@@ -1422,10 +1384,8 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
by
have := finrank_range_add_finrank_ker f
rw [← ker_eq_bot, ← range_eq_top]; refine' ⟨fun h => _, fun h => _⟩
- · rw [h, finrank_bot, add_zero, H] at this
- exact eq_top_of_finrank_eq this
- · rw [h, finrank_top, H] at this
- exact finrank_eq_zero.1 (add_right_injective _ this)
+ · rw [h, finrank_bot, add_zero, H] at this; exact eq_top_of_finrank_eq this
+ · rw [h, finrank_top, H] at this; exact finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
/- warning: linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank -> LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank is a dubious translation:
@@ -1698,11 +1658,7 @@ Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff_of_
theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
finrank K V = 1 ↔ span K ({v} : Set V) = ⊤ :=
⟨fun h => by simpa using (basis_singleton PUnit h v nz).span_eq, fun s =>
- finrank_eq_card_basis
- (Basis.mk (linearIndependent_singleton nz)
- (by
- convert s
- simp))⟩
+ finrank_eq_card_basis (Basis.mk (linearIndependent_singleton nz) (by convert s; simp))⟩
#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzero
/- warning: finrank_eq_one_iff_of_nonzero' -> finrank_eq_one_iff_of_nonzero' is a dubious translation:
@@ -1767,13 +1723,8 @@ theorem finrank_le_one_iff [FiniteDimensional K V] :
fconstructor
· intro h
by_cases h' : finrank K V = 0
- · use 0
- intro w
- use 0
- haveI := finrank_zero_iff.mp h'
- apply Subsingleton.elim
- · replace h' := zero_lt_iff.mpr h'
- have : finrank K V = 1 := by linarith
+ · use 0; intro w; use 0; haveI := finrank_zero_iff.mp h'; apply Subsingleton.elim
+ · replace h' := zero_lt_iff.mpr h'; have : finrank K V = 1 := by linarith
obtain ⟨v, -, p⟩ := finrank_eq_one_iff'.mp this
use ⟨v, p⟩
· rintro ⟨v, p⟩
@@ -1873,10 +1824,8 @@ instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
-/
#print Subalgebra.finiteDimensional_bot /-
-instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) :=
- by
- nontriviality E
- exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
+instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) := by
+ nontriviality E; exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
-/
@@ -1905,9 +1854,7 @@ but is expected to have type
forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
Case conversion may be inaccurate. Consider using '#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_oneₓ'. -/
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
- Subalgebra.eq_bot_of_rank_le_one <|
- by
- haveI := finite_dimensional_of_finrank_eq_succ h
+ Subalgebra.eq_bot_of_rank_le_one <| by haveI := finite_dimensional_of_finrank_eq_succ h;
rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
@@ -1988,10 +1935,8 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
have : finrank F S ≤ 2 := hr ▸ S.to_submodule.finrank_le
have : 0 < finrank F S := finrank_pos_iff.mpr inferInstance
interval_cases
- · left
- exact Subalgebra.eq_bot_of_finrank_one h
- · right
- rw [← hr] at h
+ · left; exact Subalgebra.eq_bot_of_finrank_one h
+ · right; rw [← hr] at h
rw [← Algebra.toSubmodule_eq_top]
exact Submodule.eq_top_of_finrank_eq h }
#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrank
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -337,10 +337,7 @@ noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) :
-/
/- warning: finite_dimensional.basis_unique.repr_eq_zero_iff -> FiniteDimensional.basisUnique.repr_eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : Unique.{succ u3} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))} {v : V} {i : ι}, Iff (Eq.{succ u1} K (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (fun (_x : Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) => ι -> K) (Finsupp.coeFun.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u1, u1, u2, max u3 u1} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u3 u1} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) => V -> (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u3 u1} K K V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Basis.repr.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))) (Eq.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))
-but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [_inst_6 : Unique.{succ u1} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))} {v : V} {i : ι}, Iff (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) _x) (Finsupp.funLike.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SMulZeroClass.toSMul.{u2, u3} K V (AddMonoid.toZero.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u3} K V (AddMonoid.toAddZeroClass.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} K V (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u1, max (max u2 u3) u1} K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u1, max (max u2 u3) u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (Basis.repr.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionRing.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) _inst_1))))))) (Eq.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iffₓ'. -/
@[simp]
theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
@@ -737,10 +734,7 @@ variable {L : Type _} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
/- warning: finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card -> FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card is a dubious translation:
-lean 3 declaration is
- forall {L : Type.{u2}} [_inst_6 : LinearOrderedField.{u2} L] {W : Type.{u1}} [_inst_7 : AddCommGroup.{u1} W] [_inst_8 : Module.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)] [_inst_9 : FiniteDimensional.{u2, u1} L W (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u1} W}, (LT.lt.{0} Nat Nat.hasLt (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Finset.card.{u1} W t)) -> (Exists.{max (succ u1) (succ u2)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u1} W (Finset.sum.{u1, u1} W W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) t (fun (e : W) => SMul.smul.{u2, u1} L W (SMulZeroClass.toHasSmul.{u2, u1} L W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (SMulWithZero.toSmulZeroClass.{u2, u1} L W (MulZeroClass.toHasZero.{u2} L (MulZeroOneClass.toMulZeroClass.{u2} L (MonoidWithZero.toMulZeroOneClass.{u2} L (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (MulActionWithZero.toSMulWithZero.{u2, u1} L W (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (Module.toMulActionWithZero.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) _inst_8)))) (f e) e)) (OfNat.ofNat.{u1} W 0 (OfNat.mk.{u1} W 0 (Zero.zero.{u1} W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (SubNegMonoid.toAddMonoid.{u1} W (AddGroup.toSubNegMonoid.{u1} W (AddCommGroup.toAddGroup.{u1} W _inst_7))))))))) (And (Eq.{succ u2} L (Finset.sum.{u2, u1} L W (AddCommGroup.toAddCommMonoid.{u2} L (OrderedAddCommGroup.toAddCommGroup.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))))))) (Exists.{succ u1} W (fun (x : W) => Exists.{0} (Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) (fun (H : Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) => LT.lt.{u2} L (Preorder.toHasLt.{u2} L (PartialOrder.toPreorder.{u2} L (OrderedAddCommGroup.toPartialOrder.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6))))))) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))))))))) (f x)))))))
-but is expected to have type
- forall {L : Type.{u1}} [_inst_6 : LinearOrderedField.{u1} L] {W : Type.{u2}} [_inst_7 : AddCommGroup.{u2} W] [_inst_8 : Module.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (AddCommGroup.toAddCommMonoid.{u2} W _inst_7)] [_inst_9 : FiniteDimensional.{u1, u2} L W (Field.toDivisionRing.{u1} L (LinearOrderedField.toField.{u1} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u2} W}, (LT.lt.{0} Nat instLTNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Finset.card.{u2} W t)) -> (Exists.{max (succ u2) (succ u1)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u2} W (Finset.sum.{u2, u2} W W (AddCommGroup.toAddCommMonoid.{u2} W _inst_7) t (fun (e : W) => HSMul.hSMul.{u1, u2, u2} L W W (instHSMul.{u1, u2} L W (SMulZeroClass.toSMul.{u1, u2} L W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (SMulWithZero.toSMulZeroClass.{u1, u2} L W (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (MulActionWithZero.toSMulWithZero.{u1, u2} L W (Semiring.toMonoidWithZero.{u1} L (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (Module.toMulActionWithZero.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (AddCommGroup.toAddCommMonoid.{u2} W _inst_7) _inst_8))))) (f e) e)) (OfNat.ofNat.{u2} W 0 (Zero.toOfNat0.{u2} W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7)))))))) (And (Eq.{succ u1} L (Finset.sum.{u1, u2} L W (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} L (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u1} L 0 (Zero.toOfNat0.{u1} L (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))))) (Exists.{succ u2} W (fun (x : W) => And (Membership.mem.{u2, u2} W (Finset.{u2} W) (Finset.instMembershipFinset.{u2} W) x t) (LT.lt.{u1} L (Preorder.toLT.{u1} L (PartialOrder.toPreorder.{u1} L (StrictOrderedRing.toPartialOrder.{u1} L (LinearOrderedRing.toStrictOrderedRing.{u1} L (LinearOrderedCommRing.toLinearOrderedRing.{u1} L (LinearOrderedField.toLinearOrderedCommRing.{u1} L _inst_6)))))) (OfNat.ofNat.{u1} L 0 (Zero.toOfNat0.{u1} L (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))))) (f x)))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_cardₓ'. -/
/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
available when working over an ordered field:
@@ -965,10 +959,7 @@ instance finiteDimensional_inf_right (S₁ S₂ : Submodule K V) [FiniteDimensio
-/
/- warning: submodule.finite_dimensional_sup -> Submodule.finiteDimensional_sup is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [h₁ : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)] [h₂ : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [h₁ : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)] [h₂ : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂))
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_sup Submodule.finiteDimensional_supₓ'. -/
/-- The sup of two finite-dimensional submodules is
finite-dimensional. -/
@@ -981,10 +972,7 @@ instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensi
#align submodule.finite_dimensional_sup Submodule.finiteDimensional_sup
/- warning: submodule.finite_dimensional_finset_sup -> Submodule.finiteDimensional_finset_sup is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} (s : Finset.{u3} ι) (S : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_4 : forall (i : ι), FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (S i)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} (s : Finset.{u3} ι) (S : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_4 : forall (i : ι), FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S))
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_supₓ'. -/
/-- The submodule generated by a finite supremum of finite dimensional submodules is
finite-dimensional.
@@ -1059,10 +1047,7 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
-/
/- warning: submodule.finrank_add_le_finrank_add_finrank -> Submodule.finrank_add_le_finrank_add_finrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [_inst_4 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)] [_inst_5 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [_inst_4 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)] [_inst_5 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrankₓ'. -/
theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t :=
@@ -1072,10 +1057,7 @@ theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensio
#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrank
/- warning: submodule.eq_top_of_disjoint -> Submodule.eq_top_of_disjoint is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Disjoint.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s t) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t))) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Disjoint.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s t) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjointₓ'. -/
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
(hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ :=
@@ -1335,10 +1317,7 @@ noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V
#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndo
/- warning: linear_equiv.coe_of_injective_endo -> LinearEquiv.coe_ofInjectiveEndo is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (V -> V) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1)) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndoₓ'. -/
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1347,10 +1326,7 @@ theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndo
/- warning: linear_equiv.of_injective_endo_right_inv -> LinearEquiv.ofInjectiveEndo_right_inv is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1359,10 +1335,7 @@ theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_inv
/- warning: linear_equiv.of_injective_endo_left_inv -> LinearEquiv.ofInjectiveEndo_left_inv is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1441,10 +1414,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
[Module K V₂]
/- warning: linear_map.injective_iff_surjective_of_finrank_eq_finrank -> LinearMap.injective_iff_surjective_of_finrank_eq_finrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrankₓ'. -/
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1459,10 +1429,7 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
/- warning: linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank -> LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrankₓ'. -/
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1486,10 +1453,7 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjective
/- warning: linear_map.linear_equiv_of_injective_apply -> LinearMap.linearEquivOfInjective_apply is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1)) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f x)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_applyₓ'. -/
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
@@ -1837,10 +1801,7 @@ theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipal
/- warning: surjective_of_nonzero_of_finrank_eq_one -> surjective_of_nonzero_of_finrank_eq_one is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {W : Type.{u3}} {A : Type.{u4}} [_inst_4 : Semiring.{u4} A] [_inst_5 : Module.{u4, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : AddCommGroup.{u3} W] [_inst_7 : Module.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_8 : Module.{u4, u3} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u2, u3, u1, u4} V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) K A _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} K W (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u3} K W (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (MulActionWithZero.toSMulWithZero.{u1, u3} K W (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (Module.toMulActionWithZero.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (forall {f : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (OfNat.mk.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (Zero.zero.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (LinearMap.hasZero.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))))))) -> (Function.Surjective.{succ u2, succ u3} V W (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (fun (_x : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) => V -> W) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))) f)))
-but is expected to have type
- forall {K : Type.{u3}} {V : Type.{u4}} [_inst_1 : DivisionRing.{u3} K] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] {W : Type.{u2}} {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u4} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_6 : AddCommGroup.{u2} W] [_inst_7 : Module.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_8 : Module.{u1, u2} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u4, u2, u3, u1} V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) K A _inst_4 (SMulZeroClass.toSMul.{u3, u4} K V (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u4} K V (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K V (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (Module.toMulActionWithZero.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toSMul.{u3, u2} K W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (SMulWithZero.toSMulZeroClass.{u3, u2} K W (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (MulActionWithZero.toSMulWithZero.{u3, u2} K W (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (Module.toMulActionWithZero.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall {f : LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u4) (succ u2)} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) (LinearMap.instZeroLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)))))) -> (Function.Surjective.{succ u4, succ u2} V W (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4))) f)))
+<too large>
Case conversion may be inaccurate. Consider using '#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_oneₓ'. -/
-- We use the `linear_map.compatible_smul` typeclass here, to encompass two situations:
-- * `A = K`
@@ -1885,10 +1846,7 @@ open Module
variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
/- warning: subalgebra.finite_dimensional_to_submodule -> Subalgebra.finiteDimensional_toSubmodule is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
-but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
+<too large>
Case conversion may be inaccurate. Consider using '#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmoduleₓ'. -/
/-- A `subalgebra` is `finite_dimensional` iff it is finite_dimensional as a submodule. -/
theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
@@ -1897,16 +1855,10 @@ theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
/- warning: finite_dimensional.of_subalgebra_to_submodule -> FiniteDimensional.of_subalgebra_toSubmodule is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
-but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
+<too large>
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmoduleₓ'. -/
/- warning: finite_dimensional.subalgebra_to_submodule -> FiniteDimensional.subalgebra_toSubmodule is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)))
-but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)))
+<too large>
Case conversion may be inaccurate. Consider using '#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmoduleₓ'. -/
alias Subalgebra.finiteDimensional_toSubmodule ↔
FiniteDimensional.of_subalgebra_toSubmodule FiniteDimensional.subalgebra_toSubmodule
@@ -2116,10 +2068,7 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
-/
/- warning: module.End.ker_pow_le_ker_pow_finrank -> Module.End.ker_pow_le_ker_pow_finrank is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
+<too large>
Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_le_ker_pow_finrank Module.End.ker_pow_le_ker_pow_finrankₓ'. -/
theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m : ℕ) :
(f ^ m).ker ≤ (f ^ finrank K V).ker :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -111,7 +111,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_injective FiniteDimensional.of_injectiveₓ'. -/
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
@@ -124,7 +124,7 @@ theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDi
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_surjective FiniteDimensional.of_surjectiveₓ'. -/
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
@@ -340,7 +340,7 @@ noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : Unique.{succ u3} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))} {v : V} {i : ι}, Iff (Eq.{succ u1} K (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (fun (_x : Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) => ι -> K) (Finsupp.coeFun.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u1, u1, u2, max u3 u1} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u3 u1} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) => V -> (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u3 u1} K K V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Basis.repr.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))) (Eq.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))
but is expected to have type
- forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [_inst_6 : Unique.{succ u1} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))} {v : V} {i : ι}, Iff (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) _x) (Finsupp.funLike.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SMulZeroClass.toSMul.{u2, u3} K V (AddMonoid.toZero.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u3} K V (AddMonoid.toAddZeroClass.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} K V (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u1, max (max u2 u3) u1} K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u1, max (max u2 u3) u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (Basis.repr.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionRing.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) _inst_1))))))) (Eq.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))))))
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [_inst_6 : Unique.{succ u1} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))} {v : V} {i : ι}, Iff (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) _x) (Finsupp.funLike.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SMulZeroClass.toSMul.{u2, u3} K V (AddMonoid.toZero.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u3} K V (AddMonoid.toAddZeroClass.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} K V (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u1, max (max u2 u3) u1} K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u1, max (max u2 u3) u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (Basis.repr.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionRing.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) _inst_1))))))) (Eq.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))))))
Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iffₓ'. -/
@[simp]
theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
@@ -1213,7 +1213,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.surjective_of_injective LinearMap.surjective_of_injectiveₓ'. -/
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
@@ -1247,7 +1247,7 @@ instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂)
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjectiveₓ'. -/
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
@@ -1327,7 +1327,7 @@ variable [FiniteDimensional K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndoₓ'. -/
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
@@ -1338,7 +1338,7 @@ noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (V -> V) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1)) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndoₓ'. -/
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1350,7 +1350,7 @@ theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1362,7 +1362,7 @@ theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1444,7 +1444,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrankₓ'. -/
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1474,7 +1474,7 @@ theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjectiveₓ'. -/
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
@@ -1489,7 +1489,7 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1)) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f x)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f x)
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_applyₓ'. -/
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
@@ -1840,7 +1840,7 @@ theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {W : Type.{u3}} {A : Type.{u4}} [_inst_4 : Semiring.{u4} A] [_inst_5 : Module.{u4, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : AddCommGroup.{u3} W] [_inst_7 : Module.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_8 : Module.{u4, u3} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u2, u3, u1, u4} V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) K A _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} K W (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u3} K W (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (MulActionWithZero.toSMulWithZero.{u1, u3} K W (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (Module.toMulActionWithZero.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (forall {f : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (OfNat.mk.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (Zero.zero.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (LinearMap.hasZero.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))))))) -> (Function.Surjective.{succ u2, succ u3} V W (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (fun (_x : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) => V -> W) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))) f)))
but is expected to have type
- forall {K : Type.{u3}} {V : Type.{u4}} [_inst_1 : DivisionRing.{u3} K] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] {W : Type.{u2}} {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u4} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_6 : AddCommGroup.{u2} W] [_inst_7 : Module.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_8 : Module.{u1, u2} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u4, u2, u3, u1} V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) K A _inst_4 (SMulZeroClass.toSMul.{u3, u4} K V (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u4} K V (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K V (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (Module.toMulActionWithZero.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toSMul.{u3, u2} K W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (SMulWithZero.toSMulZeroClass.{u3, u2} K W (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (MulActionWithZero.toSMulWithZero.{u3, u2} K W (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (Module.toMulActionWithZero.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall {f : LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u4) (succ u2)} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) (LinearMap.instZeroLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)))))) -> (Function.Surjective.{succ u4, succ u2} V W (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4))) f)))
+ forall {K : Type.{u3}} {V : Type.{u4}} [_inst_1 : DivisionRing.{u3} K] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] {W : Type.{u2}} {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u4} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_6 : AddCommGroup.{u2} W] [_inst_7 : Module.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_8 : Module.{u1, u2} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u4, u2, u3, u1} V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) K A _inst_4 (SMulZeroClass.toSMul.{u3, u4} K V (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u4} K V (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K V (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (Module.toMulActionWithZero.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toSMul.{u3, u2} K W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (SMulWithZero.toSMulZeroClass.{u3, u2} K W (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (MulActionWithZero.toSMulWithZero.{u3, u2} K W (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (Module.toMulActionWithZero.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall {f : LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u4) (succ u2)} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) (LinearMap.instZeroLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)))))) -> (Function.Surjective.{succ u4, succ u2} V W (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4))) f)))
Case conversion may be inaccurate. Consider using '#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_oneₓ'. -/
-- We use the `linear_map.compatible_smul` typeclass here, to encompass two situations:
-- * `A = K`
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -1888,7 +1888,7 @@ variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
lean 3 declaration is
forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
Case conversion may be inaccurate. Consider using '#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmoduleₓ'. -/
/-- A `subalgebra` is `finite_dimensional` iff it is finite_dimensional as a submodule. -/
theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
@@ -1900,13 +1900,13 @@ theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
lean 3 declaration is
forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmoduleₓ'. -/
/- warning: finite_dimensional.subalgebra_to_submodule -> FiniteDimensional.subalgebra_toSubmodule is a dubious translation:
lean 3 declaration is
forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)))
but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)))
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)))
Case conversion may be inaccurate. Consider using '#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmoduleₓ'. -/
alias Subalgebra.finiteDimensional_toSubmodule ↔
FiniteDimensional.of_subalgebra_toSubmodule FiniteDimensional.subalgebra_toSubmodule
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -111,7 +111,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_injective FiniteDimensional.of_injectiveₓ'. -/
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
@@ -124,7 +124,7 @@ theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDi
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_surjective FiniteDimensional.of_surjectiveₓ'. -/
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
@@ -1213,7 +1213,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.surjective_of_injective LinearMap.surjective_of_injectiveₓ'. -/
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
@@ -1227,7 +1227,7 @@ theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hin
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjectiveₓ'. -/
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K] V₂)
@@ -1235,23 +1235,19 @@ theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K]
Module.Finite.of_surjective f <| range_eq_top.1 hf
#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjective
-/- warning: linear_map.finite_dimensional_range -> LinearMap.finiteDimensional_range is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))
-Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_rangeₓ'. -/
+#print LinearMap.finiteDimensional_range /-
/-- The range of a linear map defined on a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
FiniteDimensional K f.range :=
Module.Finite.range f
#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_range
+-/
/- warning: linear_map.injective_iff_surjective -> LinearMap.injective_iff_surjective is a dubious translation:
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjectiveₓ'. -/
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
@@ -1267,7 +1263,7 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_topₓ'. -/
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
f.ker = ⊥ ↔ f.range = ⊤ := by rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
@@ -1304,12 +1300,7 @@ theorem comp_eq_id_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f.comp g
#align linear_map.comp_eq_id_comm LinearMap.comp_eq_id_comm
-/
-/- warning: linear_map.finrank_range_add_finrank_ker -> LinearMap.finrank_range_add_finrank_ker is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u3} K (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align linear_map.finrank_range_add_finrank_ker LinearMap.finrank_range_add_finrank_kerₓ'. -/
+#print LinearMap.finrank_range_add_finrank_ker /-
/-- rank-nullity theorem : the dimensions of the kernel and the range of a linear map add up to
the dimension of the source space. -/
theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
@@ -1318,6 +1309,7 @@ theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V
rw [← f.quot_ker_equiv_range.finrank_eq]
exact Submodule.finrank_quotient_add_finrank _
#align linear_map.finrank_range_add_finrank_ker LinearMap.finrank_range_add_finrank_ker
+-/
end DivisionRing
@@ -1335,7 +1327,7 @@ variable [FiniteDimensional K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndoₓ'. -/
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
@@ -1346,7 +1338,7 @@ noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (V -> V) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1)) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndoₓ'. -/
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1358,7 +1350,7 @@ theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1370,7 +1362,7 @@ theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1388,7 +1380,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_botₓ'. -/
theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.ker = ⊥ :=
by
@@ -1408,7 +1400,7 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_topₓ'. -/
theorem isUnit_iff_range_eq_top [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.range = ⊤ :=
by rw [is_unit_iff_ker_eq_bot, ker_eq_bot_iff_range_eq_top]
@@ -1452,7 +1444,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrankₓ'. -/
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1470,7 +1462,7 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrankₓ'. -/
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1482,7 +1474,7 @@ theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjectiveₓ'. -/
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
@@ -1497,7 +1489,7 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1)) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f x)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f x)
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_applyₓ'. -/
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
@@ -1848,7 +1840,7 @@ theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {W : Type.{u3}} {A : Type.{u4}} [_inst_4 : Semiring.{u4} A] [_inst_5 : Module.{u4, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : AddCommGroup.{u3} W] [_inst_7 : Module.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_8 : Module.{u4, u3} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u2, u3, u1, u4} V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) K A _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} K W (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u3} K W (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (MulActionWithZero.toSMulWithZero.{u1, u3} K W (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (Module.toMulActionWithZero.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (forall {f : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (OfNat.mk.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (Zero.zero.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (LinearMap.hasZero.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))))))) -> (Function.Surjective.{succ u2, succ u3} V W (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (fun (_x : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) => V -> W) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))) f)))
but is expected to have type
- forall {K : Type.{u3}} {V : Type.{u4}} [_inst_1 : DivisionRing.{u3} K] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] {W : Type.{u2}} {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u4} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_6 : AddCommGroup.{u2} W] [_inst_7 : Module.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_8 : Module.{u1, u2} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u4, u2, u3, u1} V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) K A _inst_4 (SMulZeroClass.toSMul.{u3, u4} K V (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u4} K V (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K V (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (Module.toMulActionWithZero.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toSMul.{u3, u2} K W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (SMulWithZero.toSMulZeroClass.{u3, u2} K W (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (MulActionWithZero.toSMulWithZero.{u3, u2} K W (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (Module.toMulActionWithZero.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall {f : LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u4) (succ u2)} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) (LinearMap.instZeroLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)))))) -> (Function.Surjective.{succ u4, succ u2} V W (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4))) f)))
+ forall {K : Type.{u3}} {V : Type.{u4}} [_inst_1 : DivisionRing.{u3} K] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] {W : Type.{u2}} {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u4} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_6 : AddCommGroup.{u2} W] [_inst_7 : Module.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_8 : Module.{u1, u2} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u4, u2, u3, u1} V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) K A _inst_4 (SMulZeroClass.toSMul.{u3, u4} K V (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u4} K V (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K V (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (Module.toMulActionWithZero.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toSMul.{u3, u2} K W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (SMulWithZero.toSMulZeroClass.{u3, u2} K W (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (MulActionWithZero.toSMulWithZero.{u3, u2} K W (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (Module.toMulActionWithZero.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall {f : LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u4) (succ u2)} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) (LinearMap.instZeroLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)))))) -> (Function.Surjective.{succ u4, succ u2} V W (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4))) f)))
Case conversion may be inaccurate. Consider using '#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_oneₓ'. -/
-- We use the `linear_map.compatible_smul` typeclass here, to encompass two situations:
-- * `A = K`
@@ -2060,12 +2052,7 @@ namespace End
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-/- warning: module.End.exists_ker_pow_eq_ker_pow_succ -> Module.End.exists_ker_pow_eq_ker_pow_succ is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), Exists.{1} Nat (fun (k : Nat) => And (LE.le.{0} Nat Nat.hasLe k (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), Exists.{1} Nat (fun (k : Nat) => And (LE.le.{0} Nat instLENat k (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))))
-Case conversion may be inaccurate. Consider using '#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succₓ'. -/
+#print Module.End.exists_ker_pow_eq_ker_pow_succ /-
theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
classical
@@ -2095,13 +2082,9 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
show False
exact Nat.not_succ_le_self _ (h_any_n_lt (finrank K V).succ (finrank K V).succ.le_refl)
#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succ
+-/
-/- warning: module.End.ker_pow_constant -> Module.End.ker_pow_constant is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {k : Nat}, (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))) -> (forall (m : Nat), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) k m))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {k : Nat}, (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))) -> (forall (m : Nat), Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) k m))))
-Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_constant Module.End.ker_pow_constantₓ'. -/
+#print Module.End.ker_pow_constant /-
theorem ker_pow_constant {f : End K V} {k : ℕ} (h : (f ^ k).ker = (f ^ k.succ).ker) :
∀ m, (f ^ k).ker = (f ^ (k + m)).ker
| 0 => by simp
@@ -2114,13 +2097,9 @@ theorem ker_pow_constant {f : End K V} {k : ℕ} (h : (f ^ k).ker = (f ^ k.succ)
rw [LinearMap.ker_comp, LinearMap.ker_comp, h, Nat.add_one]
exact le_rfl
#align module.End.ker_pow_constant Module.End.ker_pow_constant
+-/
-/- warning: module.End.ker_pow_eq_ker_pow_finrank_of_le -> Module.End.ker_pow_eq_ker_pow_finrank_of_le is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {m : Nat}, (LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) m) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))))
-but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {m : Nat}, (LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) m) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))))
-Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_leₓ'. -/
+#print Module.End.ker_pow_eq_ker_pow_finrank_of_le /-
theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {m : ℕ}
(hm : finrank K V ≤ m) : (f ^ m).ker = (f ^ finrank K V).ker :=
by
@@ -2134,12 +2113,13 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
_ = (f ^ finrank K V).ker := by rw [add_tsub_cancel_of_le h_k_le]
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
+-/
/- warning: module.End.ker_pow_le_ker_pow_finrank -> Module.End.ker_pow_le_ker_pow_finrank is a dubious translation:
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_le_ker_pow_finrank Module.End.ker_pow_le_ker_pow_finrankₓ'. -/
theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m : ℕ) :
(f ^ m).ker ≤ (f ^ finrank K V).ker :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -384,7 +384,12 @@ theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b :
#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
-/
-#print FiniteDimensional.lt_aleph0_of_linearIndependent /-
+/- warning: finite_dimensional.lt_aleph_0_of_linear_independent -> FiniteDimensional.lt_aleph0_of_linearIndependent is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {v : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V v (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LT.lt.{succ u3} Cardinal.{u3} (Preorder.toHasLt.{succ u3} Cardinal.{u3} (PartialOrder.toPreorder.{succ u3} Cardinal.{u3} Cardinal.partialOrder.{u3})) (Cardinal.mk.{u3} ι) Cardinal.aleph0.{u3})
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {v : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V v (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LT.lt.{succ u3} Cardinal.{u3} (Preorder.toLT.{succ u3} Cardinal.{u3} (PartialOrder.toPreorder.{succ u3} Cardinal.{u3} Cardinal.partialOrder.{u3})) (Cardinal.mk.{u3} ι) Cardinal.aleph0.{u3})
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependentₓ'. -/
theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
(h : LinearIndependent K v) : (#ι) < ℵ₀ :=
by
@@ -394,7 +399,6 @@ theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v
rw [← finrank_eq_rank, Cardinal.lift_aleph0, Cardinal.lift_natCast]
apply Cardinal.nat_lt_aleph0
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
--/
#print LinearIndependent.finite /-
theorem LinearIndependent.finite [FiniteDimensional K V] {b : Set V}
@@ -734,7 +738,7 @@ variable {W : Type v} [AddCommGroup W] [Module L W]
/- warning: finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card -> FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card is a dubious translation:
lean 3 declaration is
- forall {L : Type.{u2}} [_inst_6 : LinearOrderedField.{u2} L] {W : Type.{u1}} [_inst_7 : AddCommGroup.{u1} W] [_inst_8 : Module.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)] [_inst_9 : FiniteDimensional.{u2, u1} L W (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u1} W}, (LT.lt.{0} Nat Nat.hasLt (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Finset.card.{u1} W t)) -> (Exists.{max (succ u1) (succ u2)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u1} W (Finset.sum.{u1, u1} W W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) t (fun (e : W) => SMul.smul.{u2, u1} L W (SMulZeroClass.toHasSmul.{u2, u1} L W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (SMulWithZero.toSmulZeroClass.{u2, u1} L W (MulZeroClass.toHasZero.{u2} L (MulZeroOneClass.toMulZeroClass.{u2} L (MonoidWithZero.toMulZeroOneClass.{u2} L (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (MulActionWithZero.toSMulWithZero.{u2, u1} L W (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (Module.toMulActionWithZero.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) _inst_8)))) (f e) e)) (OfNat.ofNat.{u1} W 0 (OfNat.mk.{u1} W 0 (Zero.zero.{u1} W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (SubNegMonoid.toAddMonoid.{u1} W (AddGroup.toSubNegMonoid.{u1} W (AddCommGroup.toAddGroup.{u1} W _inst_7))))))))) (And (Eq.{succ u2} L (Finset.sum.{u2, u1} L W (AddCommGroup.toAddCommMonoid.{u2} L (OrderedAddCommGroup.toAddCommGroup.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))))))) (Exists.{succ u1} W (fun (x : W) => Exists.{0} (Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) (fun (H : Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) => LT.lt.{u2} L (Preorder.toLT.{u2} L (PartialOrder.toPreorder.{u2} L (OrderedAddCommGroup.toPartialOrder.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6))))))) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))))))))) (f x)))))))
+ forall {L : Type.{u2}} [_inst_6 : LinearOrderedField.{u2} L] {W : Type.{u1}} [_inst_7 : AddCommGroup.{u1} W] [_inst_8 : Module.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)] [_inst_9 : FiniteDimensional.{u2, u1} L W (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u1} W}, (LT.lt.{0} Nat Nat.hasLt (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Finset.card.{u1} W t)) -> (Exists.{max (succ u1) (succ u2)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u1} W (Finset.sum.{u1, u1} W W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) t (fun (e : W) => SMul.smul.{u2, u1} L W (SMulZeroClass.toHasSmul.{u2, u1} L W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (SMulWithZero.toSmulZeroClass.{u2, u1} L W (MulZeroClass.toHasZero.{u2} L (MulZeroOneClass.toMulZeroClass.{u2} L (MonoidWithZero.toMulZeroOneClass.{u2} L (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (MulActionWithZero.toSMulWithZero.{u2, u1} L W (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (Module.toMulActionWithZero.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) _inst_8)))) (f e) e)) (OfNat.ofNat.{u1} W 0 (OfNat.mk.{u1} W 0 (Zero.zero.{u1} W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (SubNegMonoid.toAddMonoid.{u1} W (AddGroup.toSubNegMonoid.{u1} W (AddCommGroup.toAddGroup.{u1} W _inst_7))))))))) (And (Eq.{succ u2} L (Finset.sum.{u2, u1} L W (AddCommGroup.toAddCommMonoid.{u2} L (OrderedAddCommGroup.toAddCommGroup.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))))))) (Exists.{succ u1} W (fun (x : W) => Exists.{0} (Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) (fun (H : Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) => LT.lt.{u2} L (Preorder.toHasLt.{u2} L (PartialOrder.toPreorder.{u2} L (OrderedAddCommGroup.toPartialOrder.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6))))))) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))))))))) (f x)))))))
but is expected to have type
forall {L : Type.{u1}} [_inst_6 : LinearOrderedField.{u1} L] {W : Type.{u2}} [_inst_7 : AddCommGroup.{u2} W] [_inst_8 : Module.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (AddCommGroup.toAddCommMonoid.{u2} W _inst_7)] [_inst_9 : FiniteDimensional.{u1, u2} L W (Field.toDivisionRing.{u1} L (LinearOrderedField.toField.{u1} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u2} W}, (LT.lt.{0} Nat instLTNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Finset.card.{u2} W t)) -> (Exists.{max (succ u2) (succ u1)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u2} W (Finset.sum.{u2, u2} W W (AddCommGroup.toAddCommMonoid.{u2} W _inst_7) t (fun (e : W) => HSMul.hSMul.{u1, u2, u2} L W W (instHSMul.{u1, u2} L W (SMulZeroClass.toSMul.{u1, u2} L W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (SMulWithZero.toSMulZeroClass.{u1, u2} L W (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (MulActionWithZero.toSMulWithZero.{u1, u2} L W (Semiring.toMonoidWithZero.{u1} L (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (Module.toMulActionWithZero.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (AddCommGroup.toAddCommMonoid.{u2} W _inst_7) _inst_8))))) (f e) e)) (OfNat.ofNat.{u2} W 0 (Zero.toOfNat0.{u2} W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7)))))))) (And (Eq.{succ u1} L (Finset.sum.{u1, u2} L W (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} L (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u1} L 0 (Zero.toOfNat0.{u1} L (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))))) (Exists.{succ u2} W (fun (x : W) => And (Membership.mem.{u2, u2} W (Finset.{u2} W) (Finset.instMembershipFinset.{u2} W) x t) (LT.lt.{u1} L (Preorder.toLT.{u1} L (PartialOrder.toPreorder.{u1} L (StrictOrderedRing.toPartialOrder.{u1} L (LinearOrderedRing.toStrictOrderedRing.{u1} L (LinearOrderedCommRing.toLinearOrderedRing.{u1} L (LinearOrderedField.toLinearOrderedCommRing.{u1} L _inst_6)))))) (OfNat.ofNat.{u1} L 0 (Zero.toOfNat0.{u1} L (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))))) (f x)))))))
Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_cardₓ'. -/
@@ -926,7 +930,12 @@ theorem fg_iff_finiteDimensional (s : Submodule K V) : s.FG ↔ FiniteDimensiona
#align submodule.fg_iff_finite_dimensional Submodule.fg_iff_finiteDimensional
-/
-#print Submodule.finiteDimensional_of_le /-
+/- warning: submodule.finite_dimensional_of_le -> Submodule.finiteDimensional_of_le is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))
+Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_leₓ'. -/
/-- A submodule contained in a finite-dimensional submodule is
finite-dimensional. -/
theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (h : S₁ ≤ S₂) :
@@ -936,7 +945,6 @@ theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(IsNoetherian.iff_rank_lt_aleph0.2
(lt_of_le_of_lt (rank_le_of_submodule _ _ h) (FiniteDimensional.rank_lt_aleph0 K S₂)))
#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_le
--/
#print Submodule.finiteDimensional_inf_left /-
/-- The inf of two submodules, the first finite-dimensional, is
@@ -1023,7 +1031,7 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
/- warning: submodule.finrank_lt -> Submodule.finrank_lt is a dubious translation:
lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
but is expected to have type
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))
Case conversion may be inaccurate. Consider using '#align submodule.finrank_lt Submodule.finrank_ltₓ'. -/
@@ -1132,7 +1140,12 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-#print FiniteDimensional.eq_of_le_of_finrank_le /-
+/- warning: finite_dimensional.eq_of_le_of_finrank_le -> FiniteDimensional.eq_of_le_of_finrank_le is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_leₓ'. -/
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
@@ -1142,16 +1155,19 @@ theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(Submodule.comap_subtype_eq_top.1
(eq_top_of_finrank_eq (le_antisymm (comap (Submodule.subtype S₂) S₁).finrank_le hd)))
#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_le
--/
-#print FiniteDimensional.eq_of_le_of_finrank_eq /-
+/- warning: finite_dimensional.eq_of_le_of_finrank_eq -> FiniteDimensional.eq_of_le_of_finrank_eq is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], (LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S₁ S₂)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eqₓ'. -/
/-- If a submodule is less than or equal to a finite-dimensional
submodule with the same dimension, they are equal. -/
theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₁ = finrank K S₂) : S₁ = S₂ :=
eq_of_le_of_finrank_le hle hd.ge
#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eq
--/
variable [FiniteDimensional K V] [FiniteDimensional K V₂]
@@ -1554,13 +1570,17 @@ theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V =>
#align submodule.finrank_mono Submodule.finrank_mono
-/
-#print Submodule.finrank_lt_finrank_of_lt /-
+/- warning: submodule.finrank_lt_finrank_of_lt -> Submodule.finrank_lt_finrank_of_lt is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {t : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], (LT.lt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) -> (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {t : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_6 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], (LT.lt.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) -> (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
+Case conversion may be inaccurate. Consider using '#align submodule.finrank_lt_finrank_of_lt Submodule.finrank_lt_finrank_of_ltₓ'. -/
theorem finrank_lt_finrank_of_lt {s t : Submodule K V} [FiniteDimensional K t] (hst : s < t) :
finrank K s < finrank K t :=
(comapSubtypeEquivOfLe hst.le).finrank_eq.symm.trans_lt <|
finrank_lt (le_top.lt_of_ne <| hst.not_le ∘ comap_subtype_eq_top.1)
#align submodule.finrank_lt_finrank_of_lt Submodule.finrank_lt_finrank_of_lt
--/
#print Submodule.finrank_strictMono /-
theorem finrank_strictMono [FiniteDimensional K V] :
@@ -1846,7 +1866,7 @@ theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type _} [Semiring A] [Mod
/- warning: is_simple_module_of_finrank_eq_one -> is_simple_module_of_finrank_eq_one is a dubious translation:
lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {A : Type.{u3}} [_inst_4 : Semiring.{u3} A] [_inst_5 : Module.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : SMul.{u1, u3} K A] [_inst_7 : IsScalarTower.{u1, u3, u2} K A V _inst_6 (SMulZeroClass.toHasSmul.{u3, u2} A V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u3, u2} A V (MulZeroClass.toHasZero.{u3} A (MulZeroOneClass.toMulZeroClass.{u3} A (MonoidWithZero.toMulZeroOneClass.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u3, u2} A V (Semiring.toMonoidWithZero.{u3} A _inst_4) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (IsSimpleOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Preorder.toLE.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {A : Type.{u3}} [_inst_4 : Semiring.{u3} A] [_inst_5 : Module.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : SMul.{u1, u3} K A] [_inst_7 : IsScalarTower.{u1, u3, u2} K A V _inst_6 (SMulZeroClass.toHasSmul.{u3, u2} A V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u3, u2} A V (MulZeroClass.toHasZero.{u3} A (MulZeroOneClass.toMulZeroClass.{u3} A (MonoidWithZero.toMulZeroOneClass.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u3, u2} A V (Semiring.toMonoidWithZero.{u3} A _inst_4) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (IsSimpleOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Preorder.toHasLe.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))
but is expected to have type
forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_6 : SMul.{u2, u1} K A] [_inst_7 : IsScalarTower.{u2, u1, u3} K A V _inst_6 (SMulZeroClass.toSMul.{u1, u3} A V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u3} A V (MonoidWithZero.toZero.{u1} A (Semiring.toMonoidWithZero.{u1} A _inst_4)) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A V (Semiring.toMonoidWithZero.{u1} A _inst_4) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5)))) (SMulZeroClass.toSMul.{u2, u3} K V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} K V (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K V (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (IsSimpleOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Preorder.toLE.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Submodule.completeLattice.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Submodule.completeLattice.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5)))
Case conversion may be inaccurate. Consider using '#align is_simple_module_of_finrank_eq_one is_simple_module_of_finrank_eq_oneₓ'. -/
@@ -1874,7 +1894,7 @@ variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
/- warning: subalgebra.finite_dimensional_to_submodule -> Subalgebra.finiteDimensional_toSubmodule is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
but is expected to have type
forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
Case conversion may be inaccurate. Consider using '#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmoduleₓ'. -/
@@ -1886,13 +1906,13 @@ theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
/- warning: finite_dimensional.of_subalgebra_to_submodule -> FiniteDimensional.of_subalgebra_toSubmodule is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
but is expected to have type
forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmoduleₓ'. -/
/- warning: finite_dimensional.subalgebra_to_submodule -> FiniteDimensional.subalgebra_toSubmodule is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)))
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)))
but is expected to have type
forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)))
Case conversion may be inaccurate. Consider using '#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmoduleₓ'. -/
@@ -2008,7 +2028,7 @@ attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_o
/- warning: subalgebra.is_simple_order_of_finrank -> Subalgebra.isSimpleOrder_of_finrank is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (IsSimpleOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (IsSimpleOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))
but is expected to have type
forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F E (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (IsSimpleOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrankₓ'. -/
@@ -2117,7 +2137,7 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
/- warning: module.End.ker_pow_le_ker_pow_finrank -> Module.End.ker_pow_le_ker_pow_finrank is a dubious translation:
lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
but is expected to have type
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_le_ker_pow_finrank Module.End.ker_pow_le_ker_pow_finrankₓ'. -/
@@ -2155,7 +2175,12 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
-/
-#print cardinal_lt_aleph0_of_finiteDimensional /-
+/- warning: cardinal_lt_aleph_0_of_finite_dimensional -> cardinal_lt_aleph0_of_finiteDimensional is a dubious translation:
+lean 3 declaration is
+ forall (K : Type.{u1}) (V : Type.{u1}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u1, u1} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : Finite.{succ u1} K] [_inst_5 : FiniteDimensional.{u1, u1} K V _inst_1 _inst_2 _inst_3], LT.lt.{succ u1} Cardinal.{u1} (Preorder.toHasLt.{succ u1} Cardinal.{u1} (PartialOrder.toPreorder.{succ u1} Cardinal.{u1} Cardinal.partialOrder.{u1})) (Cardinal.mk.{u1} V) Cardinal.aleph0.{u1}
+but is expected to have type
+ forall (K : Type.{u1}) (V : Type.{u1}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u1, u1} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : Finite.{succ u1} K] [_inst_5 : FiniteDimensional.{u1, u1} K V _inst_1 _inst_2 _inst_3], LT.lt.{succ u1} Cardinal.{u1} (Preorder.toLT.{succ u1} Cardinal.{u1} (PartialOrder.toPreorder.{succ u1} Cardinal.{u1} Cardinal.partialOrder.{u1})) (Cardinal.mk.{u1} V) Cardinal.aleph0.{u1}
+Case conversion may be inaccurate. Consider using '#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensionalₓ'. -/
theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [Finite K] [FiniteDimensional K V] : (#V) < ℵ₀ :=
by
@@ -2163,7 +2188,6 @@ theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K]
rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensional
--/
end Module
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -1938,7 +1938,7 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
lean 3 declaration is
forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
but is expected to have type
- forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (Field.toCommRing.{u2} F _inst_1) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
Case conversion may be inaccurate. Consider using '#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_oneₓ'. -/
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
Subalgebra.eq_bot_of_rank_le_one <|
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -921,7 +921,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
#print Submodule.fg_iff_finiteDimensional /-
/-- A submodule is finitely generated if and only if it is finite-dimensional -/
-theorem fg_iff_finiteDimensional (s : Submodule K V) : s.Fg ↔ FiniteDimensional K s :=
+theorem fg_iff_finiteDimensional (s : Submodule K V) : s.FG ↔ FiniteDimensional K s :=
⟨fun h => Module.finite_def.2 <| (fg_top s).2 h, fun h => (fg_top s).1 <| Module.finite_def.1 h⟩
#align submodule.fg_iff_finite_dimensional Submodule.fg_iff_finiteDimensional
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -993,21 +993,21 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
exact Submodule.finiteDimensional_sup S₁ S₂
#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_sup
-/- warning: submodule.finite_dimensional_supr -> Submodule.finiteDimensional_supᵢ is a dubious translation:
+/- warning: submodule.finite_dimensional_supr -> Submodule.finiteDimensional_iSup is a dubious translation:
lean 3 declaration is
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (S i)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (S i)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (iSup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
-Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢₓ'. -/
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (iSup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
+Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_supr Submodule.finiteDimensional_iSupₓ'. -/
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
sort is finite-dimensional. -/
-instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
+instance finiteDimensional_iSup {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
[∀ i, FiniteDimensional K (S i)] : FiniteDimensional K ↥(⨆ i, S i) :=
by
cases nonempty_fintype (PLift ι)
- rw [← supᵢ_plift_down, ← Finset.sup_univ_eq_supᵢ]
+ rw [← iSup_plift_down, ← Finset.sup_univ_eq_iSup]
exact Submodule.finiteDimensional_finset_sup _ _
-#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢ
+#align submodule.finite_dimensional_supr Submodule.finiteDimensional_iSup
#print Submodule.finrank_quotient_add_finrank /-
/-- In a finite-dimensional vector space, the dimensions of a submodule and of the corresponding
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -111,7 +111,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_injective FiniteDimensional.of_injectiveₓ'. -/
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
@@ -124,7 +124,7 @@ theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDi
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_surjective FiniteDimensional.of_surjectiveₓ'. -/
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
@@ -1197,7 +1197,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.surjective_of_injective LinearMap.surjective_of_injectiveₓ'. -/
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
@@ -1211,7 +1211,7 @@ theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hin
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjectiveₓ'. -/
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K] V₂)
@@ -1223,7 +1223,7 @@ theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_rangeₓ'. -/
/-- The range of a linear map defined on a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
@@ -1235,7 +1235,7 @@ instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂)
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjectiveₓ'. -/
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
@@ -1251,7 +1251,7 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_topₓ'. -/
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
f.ker = ⊥ ↔ f.range = ⊤ := by rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
@@ -1292,7 +1292,7 @@ theorem comp_eq_id_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f.comp g
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u3} K (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)
Case conversion may be inaccurate. Consider using '#align linear_map.finrank_range_add_finrank_ker LinearMap.finrank_range_add_finrank_kerₓ'. -/
/-- rank-nullity theorem : the dimensions of the kernel and the range of a linear map add up to
the dimension of the source space. -/
@@ -1319,7 +1319,7 @@ variable [FiniteDimensional K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndoₓ'. -/
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
@@ -1330,7 +1330,7 @@ noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (V -> V) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1)) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndoₓ'. -/
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1342,7 +1342,7 @@ theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1354,7 +1354,7 @@ theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
@@ -1372,7 +1372,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_botₓ'. -/
theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.ker = ⊥ :=
by
@@ -1392,7 +1392,7 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_topₓ'. -/
theorem isUnit_iff_range_eq_top [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.range = ⊤ :=
by rw [is_unit_iff_ker_eq_bot, ker_eq_bot_iff_range_eq_top]
@@ -1436,7 +1436,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)))
Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrankₓ'. -/
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1454,7 +1454,7 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrankₓ'. -/
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
@@ -1466,7 +1466,7 @@ theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjectiveₓ'. -/
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
@@ -1481,7 +1481,7 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
lean 3 declaration is
forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1)) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
but is expected to have type
- forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) f x)
Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_applyₓ'. -/
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
mathlib commit https://github.com/leanprover-community/mathlib/commit/fa78268d4d77cb2b2fbc89f0527e2e7807763780
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit e95e4f92c8f8da3c7f693c3ec948bcf9b6683f51
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -16,6 +16,9 @@ import Mathbin.Tactic.IntervalCases
/-!
# Finite dimensional vector spaces
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
Definition and basic properties of finite dimensional vector spaces, of their dimensions, and
of linear maps on such spaces.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2651125b48fc5c170ab1111afd0817c903b1fc6c
@@ -84,12 +84,14 @@ open Classical Cardinal
open Cardinal Submodule Module Function
+#print FiniteDimensional /-
/-- `finite_dimensional` vector spaces are defined to be finite modules.
Use `finite_dimensional.of_fintype_basis` to prove finite dimension from another definition. -/
@[reducible]
def FiniteDimensional (K V : Type _) [DivisionRing K] [AddCommGroup V] [Module K V] :=
Module.Finite K V
#align finite_dimensional FiniteDimensional
+-/
variable {K : Type u} {V : Type v}
@@ -102,6 +104,12 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+/- warning: finite_dimensional.of_injective -> FiniteDimensional.of_injective is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_injective FiniteDimensional.of_injectiveₓ'. -/
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
FiniteDimensional K V :=
@@ -109,6 +117,12 @@ theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDi
Module.Finite.of_injective f w
#align finite_dimensional.of_injective FiniteDimensional.of_injective
+/- warning: finite_dimensional.of_surjective -> FiniteDimensional.of_surjective is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (forall [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_surjective FiniteDimensional.of_surjectiveₓ'. -/
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
FiniteDimensional K V₂ :=
@@ -117,30 +131,39 @@ theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [Finite
variable (K V)
+#print FiniteDimensional.finiteDimensional_pi /-
instance finiteDimensional_pi {ι : Type _} [Finite ι] : FiniteDimensional K (ι → K) :=
iff_fg.1 isNoetherian_pi
#align finite_dimensional.finite_dimensional_pi FiniteDimensional.finiteDimensional_pi
+-/
+#print FiniteDimensional.finiteDimensional_pi' /-
instance finiteDimensional_pi' {ι : Type _} [Finite ι] (M : ι → Type _) [∀ i, AddCommGroup (M i)]
[∀ i, Module K (M i)] [I : ∀ i, FiniteDimensional K (M i)] : FiniteDimensional K (∀ i, M i) :=
haveI : ∀ i : ι, IsNoetherian K (M i) := fun i => iff_fg.2 (I i)
iff_fg.1 isNoetherian_pi
#align finite_dimensional.finite_dimensional_pi' FiniteDimensional.finiteDimensional_pi'
+-/
+#print FiniteDimensional.fintypeOfFintype /-
/-- A finite dimensional vector space over a finite field is finite -/
noncomputable def fintypeOfFintype [Fintype K] [FiniteDimensional K V] : Fintype V :=
Module.fintypeOfFintype (@finsetBasis K V _ _ _ (iff_fg.2 inferInstance))
#align finite_dimensional.fintype_of_fintype FiniteDimensional.fintypeOfFintype
+-/
+#print FiniteDimensional.finite_of_finite /-
theorem finite_of_finite [Finite K] [FiniteDimensional K V] : Finite V :=
by
cases nonempty_fintype K
haveI := fintype_of_fintype K V
infer_instance
#align finite_dimensional.finite_of_finite FiniteDimensional.finite_of_finite
+-/
variable {K V}
+#print FiniteDimensional.of_fintype_basis /-
/-- If a vector space has a finite basis, then it is finite-dimensional. -/
theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDimensional K V :=
by
@@ -150,13 +173,16 @@ theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDi
convert h.span_eq
simp⟩⟩
#align finite_dimensional.of_fintype_basis FiniteDimensional.of_fintype_basis
+-/
+#print FiniteDimensional.fintypeBasisIndex /-
/-- If a vector space is `finite_dimensional`, all bases are indexed by a finite type -/
noncomputable def fintypeBasisIndex {ι : Type _} [FiniteDimensional K V] (b : Basis ι K V) :
Fintype ι :=
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
IsNoetherian.fintypeBasisIndex b
#align finite_dimensional.fintype_basis_index FiniteDimensional.fintypeBasisIndex
+-/
/-- If a vector space is `finite_dimensional`, `basis.of_vector_space` is indexed by
a finite type.-/
@@ -165,6 +191,7 @@ noncomputable instance [FiniteDimensional K V] : Fintype (Basis.ofVectorSpaceInd
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
infer_instance
+#print FiniteDimensional.of_finite_basis /-
/-- If a vector space has a basis indexed by elements of a finite set, then it is
finite-dimensional. -/
theorem of_finite_basis {ι : Type w} {s : Set ι} (h : Basis s K V) (hs : Set.Finite s) :
@@ -172,7 +199,9 @@ theorem of_finite_basis {ι : Type w} {s : Set ι} (h : Basis s K V) (hs : Set.F
haveI := hs.fintype
of_fintype_basis h
#align finite_dimensional.of_finite_basis FiniteDimensional.of_finite_basis
+-/
+#print FiniteDimensional.finiteDimensional_submodule /-
/-- A subspace of a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_submodule [FiniteDimensional K V] (S : Submodule K V) :
FiniteDimensional K S := by
@@ -183,15 +212,24 @@ instance finiteDimensional_submodule [FiniteDimensional K V] (S : Submodule K V)
(lt_of_le_of_lt (rank_submodule_le _) (rank_lt_aleph_0 K V)))
infer_instance
#align finite_dimensional.finite_dimensional_submodule FiniteDimensional.finiteDimensional_submodule
+-/
+#print FiniteDimensional.finiteDimensional_quotient /-
/-- A quotient of a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_quotient [FiniteDimensional K V] (S : Submodule K V) :
FiniteDimensional K (V ⧸ S) :=
Module.Finite.of_surjective (Submodule.mkQ S) <| surjective_quot_mk _
#align finite_dimensional.finite_dimensional_quotient FiniteDimensional.finiteDimensional_quotient
+-/
variable (K V)
+/- warning: finite_dimensional.finrank_eq_rank' -> FiniteDimensional.finrank_eq_rank' is a dubious translation:
+lean 3 declaration is
+ forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Eq.{succ (succ u2)} Cardinal.{u2} ((fun (a : Type) (b : Type.{succ u2}) [self : HasLiftT.{1, succ (succ u2)} a b] => self.0) Nat Cardinal.{u2} (HasLiftT.mk.{1, succ (succ u2)} Nat Cardinal.{u2} (CoeTCₓ.coe.{1, succ (succ u2)} Nat Cardinal.{u2} (Nat.castCoe.{succ u2} Cardinal.{u2} Cardinal.hasNatCast.{u2}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Module.rank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
+but is expected to have type
+ forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Eq.{succ (succ u2)} Cardinal.{u2} (Nat.cast.{succ u2} Cardinal.{u2} Cardinal.instNatCastCardinal.{u2} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Module.rank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_eq_rank' FiniteDimensional.finrank_eq_rank'ₓ'. -/
/-- In a finite-dimensional space, its dimension (seen as a cardinal) coincides with its
`finrank`. This is a copy of `finrank_eq_rank _ _` which creates easier typeclass searches. -/
theorem finrank_eq_rank' [FiniteDimensional K V] : (finrank K V : Cardinal.{v}) = Module.rank K V :=
@@ -200,35 +238,51 @@ theorem finrank_eq_rank' [FiniteDimensional K V] : (finrank K V : Cardinal.{v})
variable {K V}
+#print FiniteDimensional.finrank_of_infinite_dimensional /-
theorem finrank_of_infinite_dimensional (h : ¬FiniteDimensional K V) : finrank K V = 0 :=
dif_neg <| mt IsNoetherian.iff_rank_lt_aleph0.2 <| (not_iff_not.2 iff_fg).2 h
#align finite_dimensional.finrank_of_infinite_dimensional FiniteDimensional.finrank_of_infinite_dimensional
+-/
+#print FiniteDimensional.finiteDimensional_of_finrank /-
theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V :=
by
contrapose h
simp [finrank_of_infinite_dimensional h]
#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.finiteDimensional_of_finrank
+-/
+#print FiniteDimensional.finiteDimensional_of_finrank_eq_succ /-
theorem finiteDimensional_of_finrank_eq_succ {n : ℕ} (hn : finrank K V = n.succ) :
FiniteDimensional K V :=
finiteDimensional_of_finrank <| by rw [hn] <;> exact n.succ_pos
#align finite_dimensional.finite_dimensional_of_finrank_eq_succ FiniteDimensional.finiteDimensional_of_finrank_eq_succ
+-/
+#print FiniteDimensional.fact_finiteDimensional_of_finrank_eq_succ /-
/-- We can infer `finite_dimensional K V` in the presence of `[fact (finrank K V = n + 1)]`. Declare
this as a local instance where needed. -/
theorem fact_finiteDimensional_of_finrank_eq_succ (n : ℕ) [Fact (finrank K V = n + 1)] :
FiniteDimensional K V :=
finiteDimensional_of_finrank <| by convert Nat.succ_pos n <;> apply Fact.out
#align finite_dimensional.fact_finite_dimensional_of_finrank_eq_succ FiniteDimensional.fact_finiteDimensional_of_finrank_eq_succ
+-/
+#print FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul /-
theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W] {n : ℕ}
(hn : n ≠ 0) (hVW : Module.rank K V = n • Module.rank K W) :
FiniteDimensional K V ↔ FiniteDimensional K W := by
simp only [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, hVW,
Cardinal.nsmul_lt_aleph0_iff_of_ne_zero hn]
#align finite_dimensional.finite_dimensional_iff_of_rank_eq_nsmul FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul
+-/
+/- warning: finite_dimensional.finrank_eq_card_basis' -> FiniteDimensional.finrank_eq_card_basis' is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}}, (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (Eq.{succ (succ u3)} Cardinal.{u3} ((fun (a : Type) (b : Type.{succ u3}) [self : HasLiftT.{1, succ (succ u3)} a b] => self.0) Nat Cardinal.{u3} (HasLiftT.mk.{1, succ (succ u3)} Nat Cardinal.{u3} (CoeTCₓ.coe.{1, succ (succ u3)} Nat Cardinal.{u3} (Nat.castCoe.{succ u3} Cardinal.{u3} Cardinal.hasNatCast.{u3}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Cardinal.mk.{u3} ι))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}}, (Basis.{u3, u1, u2} ι K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (Eq.{succ (succ u3)} Cardinal.{u3} (Nat.cast.{succ u3} Cardinal.{u3} Cardinal.instNatCastCardinal.{u3} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Cardinal.mk.{u3} ι))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'ₓ'. -/
/-- If a vector space is finite-dimensional, then the cardinality of any basis is equal to its
`finrank`. -/
theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis ι K V) :
@@ -239,6 +293,7 @@ theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis
rw [Cardinal.mk_fintype, finrank_eq_card_basis h]
#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'
+#print Basis.unique /-
/-- Given a basis of a division ring over itself indexed by a type `ι`, then `ι` is `unique`. -/
noncomputable def Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι :=
by
@@ -247,30 +302,43 @@ noncomputable def Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι :=
simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, algebraMap.coe_one] at A
exact Nonempty.some ((unique_iff_subsingleton_and_nonempty _).2 A)
#align basis.unique Basis.unique
+-/
variable (K V)
+#print FiniteDimensional.finBasis /-
/-- A finite dimensional vector space has a basis indexed by `fin (finrank K V)`. -/
noncomputable def finBasis [FiniteDimensional K V] : Basis (Fin (finrank K V)) K V :=
have h : Fintype.card (@finsetBasisIndex K V _ _ _ (iff_fg.2 inferInstance)) = finrank K V :=
(finrank_eq_card_basis (@finsetBasis K V _ _ _ (iff_fg.2 inferInstance))).symm
(@finsetBasis K V _ _ _ (iff_fg.2 inferInstance)).reindex (Fintype.equivFinOfCardEq h)
#align finite_dimensional.fin_basis FiniteDimensional.finBasis
+-/
+#print FiniteDimensional.finBasisOfFinrankEq /-
/-- An `n`-dimensional vector space has a basis indexed by `fin n`. -/
noncomputable def finBasisOfFinrankEq [FiniteDimensional K V] {n : ℕ} (hn : finrank K V = n) :
Basis (Fin n) K V :=
(finBasis K V).reindex (Fin.cast hn).toEquiv
#align finite_dimensional.fin_basis_of_finrank_eq FiniteDimensional.finBasisOfFinrankEq
+-/
variable {K V}
+#print FiniteDimensional.basisUnique /-
/-- A module with dimension 1 has a basis with one element. -/
noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) : Basis ι K V :=
haveI := finite_dimensional_of_finrank (_root_.zero_lt_one.trans_le h.symm.le)
(fin_basis_of_finrank_eq K V h).reindex (Equiv.equivOfUnique _ _)
#align finite_dimensional.basis_unique FiniteDimensional.basisUnique
+-/
+/- warning: finite_dimensional.basis_unique.repr_eq_zero_iff -> FiniteDimensional.basisUnique.repr_eq_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_6 : Unique.{succ u3} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))} {v : V} {i : ι}, Iff (Eq.{succ u1} K (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (fun (_x : Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) => ι -> K) (Finsupp.coeFun.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (coeFn.{max (succ u2) (succ (max u3 u1)), max (succ u2) (succ (max u3 u1))} (LinearEquiv.{u1, u1, u2, max u3 u1} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u3 u1} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) => V -> (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u3 u1} K K V (Finsupp.{u3, u1} ι K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (Finsupp.addCommMonoid.{u3, u1} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) _inst_3 (Finsupp.module.{u3, u1, u1} ι K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (Semiring.toModule.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Basis.repr.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))) (Eq.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [_inst_6 : Unique.{succ u1} ι] {h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))} {v : V} {i : ι}, Iff (Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) _x) (Finsupp.funLike.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SMulZeroClass.toSMul.{u2, u3} K V (AddMonoid.toZero.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u3} K V (AddMonoid.toAddZeroClass.{u3} V (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2))) (DistribMulAction.toDistribSMul.{u2, u3} K V (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toZero.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, u3, max u2 u1} (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (MonoidWithZero.toMonoid.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)) (AddCommMonoid.toAddMonoid.{max u2 u1} (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))))) (Module.toDistribMulAction.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Module.toDistribMulAction.{u2, max u2 u1} K (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u1, max (max u2 u3) u1} K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u1, max (max u2 u3) u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (LinearEquiv.{u2, u2, u3, max u2 u1} K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u1} K K V (Finsupp.{u1, u2} ι K (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) (Finsupp.addCommMonoid.{u1, u2} ι K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))) _inst_3 (Finsupp.module.{u1, u2, u2} ι K K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))))) (Semiring.toModule.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHom.id.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (RingHomInvPair.ids.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))))))) (Basis.repr.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3 (FiniteDimensional.basisUnique.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h)) v) i) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (MonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) (DivisionRing.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => K) i) _inst_1))))))) (Eq.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iffₓ'. -/
@[simp]
theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
(basisUnique ι h).repr v i = 0 ↔ v = 0 :=
@@ -279,6 +347,12 @@ theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V
fun hv => by rw [hv, LinearEquiv.map_zero, Finsupp.zero_apply]⟩
#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iff
+/- warning: finite_dimensional.cardinal_mk_le_finrank_of_linear_independent -> FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.hasLe.{u3} (Cardinal.mk.{u3} ι) ((fun (a : Type) (b : Type.{succ u3}) [self : HasLiftT.{1, succ (succ u3)} a b] => self.0) Nat Cardinal.{u3} (HasLiftT.mk.{1, succ (succ u3)} Nat Cardinal.{u3} (CoeTCₓ.coe.{1, succ (succ u3)} Nat Cardinal.{u3} (Nat.castCoe.{succ u3} Cardinal.{u3} Cardinal.hasNatCast.{u3}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.instLECardinal.{u3} (Cardinal.mk.{u3} ι) (Nat.cast.{succ u3} Cardinal.{u3} Cardinal.instNatCastCardinal.{u3} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependentₓ'. -/
theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
(h : LinearIndependent K b) : (#ι) ≤ finrank K V :=
by
@@ -287,18 +361,27 @@ theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι
cardinal_lift_le_rank_of_linearIndependent.{_, _, _, max v w} h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
+/- warning: finite_dimensional.fintype_card_le_finrank_of_linear_independent -> FiniteDimensional.fintype_card_le_finrank_of_linearIndependent is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} [_inst_7 : Fintype.{u3} ι] {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (LE.le.{0} Nat Nat.hasLe (Fintype.card.{u3} ι _inst_7) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_6 : FiniteDimensional.{u2, u3} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u1}} [_inst_7 : Fintype.{u1} ι] {b : ι -> V}, (LinearIndependent.{u1, u2, u3} ι K V b (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) -> (LE.le.{0} Nat instLENat (Fintype.card.{u1} ι _inst_7) (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependentₓ'. -/
theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type _}
[Fintype ι] {b : ι → V} (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
simpa using cardinal_mk_le_finrank_of_linear_independent h
#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependent
+#print FiniteDimensional.finset_card_le_finrank_of_linearIndependent /-
theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b : Finset V}
(h : LinearIndependent K (fun x => x : b → V)) : b.card ≤ finrank K V :=
by
rw [← Fintype.card_coe]
exact fintype_card_le_finrank_of_linear_independent h
#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
+-/
+#print FiniteDimensional.lt_aleph0_of_linearIndependent /-
theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
(h : LinearIndependent K v) : (#ι) < ℵ₀ :=
by
@@ -308,12 +391,16 @@ theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v
rw [← finrank_eq_rank, Cardinal.lift_aleph0, Cardinal.lift_natCast]
apply Cardinal.nat_lt_aleph0
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
+-/
+#print LinearIndependent.finite /-
theorem LinearIndependent.finite [FiniteDimensional K V] {b : Set V}
(h : LinearIndependent K fun x : b => (x : V)) : b.Finite :=
Cardinal.lt_aleph0_iff_set_finite.mp (FiniteDimensional.lt_aleph0_of_linearIndependent h)
#align linear_independent.finite LinearIndependent.finite
+-/
+#print FiniteDimensional.not_linearIndependent_of_infinite /-
theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [FiniteDimensional K V]
(v : ι → V) : ¬LinearIndependent K v :=
by
@@ -322,7 +409,14 @@ theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [Fin
have : ℵ₀ ≤ (#ι) := infinite_iff.mp inf
contradiction
#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
+-/
+/- warning: finite_dimensional.finrank_pos_iff_exists_ne_zero -> FiniteDimensional.finrank_pos_iff_exists_ne_zero is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Exists.{succ u2} V (fun (x : V) => Ne.{succ u2} V x (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Exists.{succ u2} V (fun (x : V) => Ne.{succ u2} V x (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zeroₓ'. -/
/-- A finite dimensional space has positive `finrank` iff it has a nonzero element. -/
theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
Iff.trans
@@ -332,6 +426,7 @@ theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V
(@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zero
+#print FiniteDimensional.finrank_pos_iff /-
/-- A finite dimensional space has positive `finrank` iff it is nontrivial. -/
theorem finrank_pos_iff [FiniteDimensional K V] : 0 < finrank K V ↔ Nontrivial V :=
Iff.trans
@@ -340,12 +435,16 @@ theorem finrank_pos_iff [FiniteDimensional K V] : 0 < finrank K V ↔ Nontrivial
norm_cast)
(@rank_pos_iff_nontrivial K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff FiniteDimensional.finrank_pos_iff
+-/
+#print FiniteDimensional.finrank_pos /-
/-- A nontrivial finite dimensional space has positive `finrank`. -/
theorem finrank_pos [FiniteDimensional K V] [h : Nontrivial V] : 0 < finrank K V :=
finrank_pos_iff.mpr h
#align finite_dimensional.finrank_pos FiniteDimensional.finrank_pos
+-/
+#print FiniteDimensional.finrank_zero_iff /-
/-- A finite dimensional space has zero `finrank` iff it is a subsingleton.
This is the `finrank` version of `rank_zero_iff`. -/
theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingleton V :=
@@ -355,7 +454,14 @@ theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingle
norm_cast)
(@rank_zero_iff K V _ _ _ _ _)
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
+-/
+/- warning: finite_dimensional.eq_top_of_finrank_eq -> FiniteDimensional.eq_top_of_finrank_eq is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.eq_top_of_finrank_eq FiniteDimensional.eq_top_of_finrank_eqₓ'. -/
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
@@ -387,23 +493,31 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
variable (K)
+#print FiniteDimensional.finiteDimensional_self /-
instance finiteDimensional_self : FiniteDimensional K K := by infer_instance
#align finite_dimensional.finite_dimensional_self FiniteDimensional.finiteDimensional_self
+-/
+#print FiniteDimensional.span_of_finite /-
/-- The submodule generated by a finite set is finite-dimensional. -/
theorem span_of_finite {A : Set V} (hA : Set.Finite A) : FiniteDimensional K (Submodule.span K A) :=
iff_fg.1 <| isNoetherian_span_of_finite K hA
#align finite_dimensional.span_of_finite FiniteDimensional.span_of_finite
+-/
+#print FiniteDimensional.span_singleton /-
/-- The submodule generated by a single element is finite-dimensional. -/
instance span_singleton (x : V) : FiniteDimensional K (K ∙ x) :=
span_of_finite K <| Set.finite_singleton _
#align finite_dimensional.span_singleton FiniteDimensional.span_singleton
+-/
+#print FiniteDimensional.span_finset /-
/-- The submodule generated by a finset is finite-dimensional. -/
instance span_finset (s : Finset V) : FiniteDimensional K (span K (s : Set V)) :=
span_of_finite K <| s.finite_toSet
#align finite_dimensional.span_finset FiniteDimensional.span_finset
+-/
/-- Pushforwards of finite-dimensional submodules are finite-dimensional. -/
instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p] :
@@ -412,6 +526,12 @@ instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p]
variable {K}
+/- warning: complete_lattice.independent.subtype_ne_bot_le_finrank_aux -> CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.hasLe.{u3} (Cardinal.mk.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) ((fun (a : Type) (b : Type.{succ u3}) [self : HasLiftT.{1, succ (succ u3)} a b] => self.0) Nat Cardinal.{u3} (HasLiftT.mk.{1, succ (succ u3)} Nat Cardinal.{u3} (CoeTCₓ.coe.{1, succ (succ u3)} Nat Cardinal.{u3} (Nat.castCoe.{succ u3} Cardinal.{u3} Cardinal.hasNatCast.{u3}))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (LE.le.{succ u3} Cardinal.{u3} Cardinal.instLECardinal.{u3} (Cardinal.mk.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (Nat.cast.{succ u3} Cardinal.{u3} Cardinal.instNatCastCardinal.{u3} (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_auxₓ'. -/
theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensional K V]
{ι : Type w} {p : ι → Submodule K V} (hp : CompleteLattice.Independent p) :
(#{ i // p i ≠ ⊥ }) ≤ (finrank K V : Cardinal.{w}) :=
@@ -426,6 +546,12 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
+/- warning: complete_lattice.independent.fintype_ne_bot_of_finite_dimensional -> CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))
+Case conversion may be inaccurate. Consider using '#align complete_lattice.independent.fintype_ne_bot_of_finite_dimensional CompleteLattice.Independent.fintypeNeBotOfFiniteDimensionalₓ'. -/
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
number of nontrivial subspaces in the family `p` is finite. -/
noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
@@ -440,6 +566,12 @@ noncomputable def CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
simp [Cardinal.nat_lt_aleph0]
#align complete_lattice.independent.fintype_ne_bot_of_finite_dimensional CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
+/- warning: complete_lattice.independent.subtype_ne_bot_le_finrank -> CompleteLattice.Independent.subtype_ne_bot_le_finrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (forall [_inst_7 : Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], LE.le.{0} Nat Nat.hasLe (Fintype.card.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_7) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {ι : Type.{u3}} {p : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)}, (CompleteLattice.Independent.{succ u3, u2} ι (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) p) -> (forall [_inst_7 : Fintype.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], LE.le.{0} Nat instLENat (Fintype.card.{u3} (Subtype.{succ u3} ι (fun (i : ι) => Ne.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (p i) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_7) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align complete_lattice.independent.subtype_ne_bot_le_finrank CompleteLattice.Independent.subtype_ne_bot_le_finrankₓ'. -/
/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
number of nontrivial subspaces in the family `p` is bounded above by the dimension of `V`.
@@ -456,6 +588,12 @@ open BigOperators
open Finset
+/- warning: finite_dimensional.exists_nontrivial_relation_of_rank_lt_card -> FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (Finset.card.{u2} V t)) -> (Exists.{max (succ u2) (succ u1)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (f e) e)) (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (Exists.{succ u2} V (fun (x : V) => Exists.{0} (Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) (fun (H : Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) => Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))))))))))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (Finset.card.{u2} V t)) -> (Exists.{max (succ u1) (succ u2)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (f e) e)) (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (Exists.{succ u2} V (fun (x : V) => And (Membership.mem.{u2, u2} V (Finset.{u2} V) (Finset.instMembershipFinset.{u2} V) x t) (Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_cardₓ'. -/
/-- If a finset has cardinality larger than the dimension of the space,
then there is a nontrivial linear relation amongst its elements.
-/
@@ -495,6 +633,12 @@ theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t :
erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
+/- warning: finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card -> FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat Nat.hasLt (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Finset.card.{u2} V t)) -> (Exists.{max (succ u2) (succ u1)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (f e) e)) (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (And (Eq.{succ u1} K (Finset.sum.{u1, u2} K V (AddCommGroup.toAddCommMonoid.{u1} K (NonUnitalNonAssocRing.toAddCommGroup.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) t (fun (e : V) => f e)) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))) (Exists.{succ u2} V (fun (x : V) => Exists.{0} (Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) (fun (H : Membership.Mem.{u2, u2} V (Finset.{u2} V) (Finset.hasMem.{u2} V) x t) => Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))))))))))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {t : Finset.{u2} V}, (LT.lt.{0} Nat instLTNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Finset.card.{u2} V t)) -> (Exists.{max (succ u1) (succ u2)} (V -> K) (fun (f : V -> K) => And (Eq.{succ u2} V (Finset.sum.{u2, u2} V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) t (fun (e : V) => HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (f e) e)) (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (And (Eq.{succ u1} K (Finset.sum.{u1, u2} K V (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) t (fun (e : V) => f e)) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))))) (Exists.{succ u2} V (fun (x : V) => And (Membership.mem.{u2, u2} V (Finset.{u2} V) (Finset.instMembershipFinset.{u2} V) x t) (Ne.{succ u1} K (f x) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))))))))))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_cardₓ'. -/
/-- If a finset has cardinality larger than `finrank + 1`,
then there is a nontrivial linear relation amongst its elements,
such that the coefficients of the relation sum to zero.
@@ -585,6 +729,12 @@ variable {L : Type _} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
+/- warning: finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card -> FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card is a dubious translation:
+lean 3 declaration is
+ forall {L : Type.{u2}} [_inst_6 : LinearOrderedField.{u2} L] {W : Type.{u1}} [_inst_7 : AddCommGroup.{u1} W] [_inst_8 : Module.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)] [_inst_9 : FiniteDimensional.{u2, u1} L W (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u1} W}, (LT.lt.{0} Nat Nat.hasLt (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Finset.card.{u1} W t)) -> (Exists.{max (succ u1) (succ u2)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u1} W (Finset.sum.{u1, u1} W W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) t (fun (e : W) => SMul.smul.{u2, u1} L W (SMulZeroClass.toHasSmul.{u2, u1} L W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (SMulWithZero.toSmulZeroClass.{u2, u1} L W (MulZeroClass.toHasZero.{u2} L (MulZeroOneClass.toMulZeroClass.{u2} L (MonoidWithZero.toMulZeroOneClass.{u2} L (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (MulActionWithZero.toSMulWithZero.{u2, u1} L W (Semiring.toMonoidWithZero.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))) (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (AddCommMonoid.toAddMonoid.{u1} W (AddCommGroup.toAddCommMonoid.{u1} W _inst_7)))) (Module.toMulActionWithZero.{u2, u1} L W (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_7) _inst_8)))) (f e) e)) (OfNat.ofNat.{u1} W 0 (OfNat.mk.{u1} W 0 (Zero.zero.{u1} W (AddZeroClass.toHasZero.{u1} W (AddMonoid.toAddZeroClass.{u1} W (SubNegMonoid.toAddMonoid.{u1} W (AddGroup.toSubNegMonoid.{u1} W (AddCommGroup.toAddGroup.{u1} W _inst_7))))))))) (And (Eq.{succ u2} L (Finset.sum.{u2, u1} L W (AddCommGroup.toAddCommMonoid.{u2} L (OrderedAddCommGroup.toAddCommGroup.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6)))))))))))) (Exists.{succ u1} W (fun (x : W) => Exists.{0} (Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) (fun (H : Membership.Mem.{u1, u1} W (Finset.{u1} W) (Finset.hasMem.{u1} W) x t) => LT.lt.{u2} L (Preorder.toLT.{u2} L (PartialOrder.toPreorder.{u2} L (OrderedAddCommGroup.toPartialOrder.{u2} L (StrictOrderedRing.toOrderedAddCommGroup.{u2} L (LinearOrderedRing.toStrictOrderedRing.{u2} L (LinearOrderedCommRing.toLinearOrderedRing.{u2} L (LinearOrderedField.toLinearOrderedCommRing.{u2} L _inst_6))))))) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L (LinearOrderedField.toField.{u2} L _inst_6))))))))))) (f x)))))))
+but is expected to have type
+ forall {L : Type.{u1}} [_inst_6 : LinearOrderedField.{u1} L] {W : Type.{u2}} [_inst_7 : AddCommGroup.{u2} W] [_inst_8 : Module.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (AddCommGroup.toAddCommMonoid.{u2} W _inst_7)] [_inst_9 : FiniteDimensional.{u1, u2} L W (Field.toDivisionRing.{u1} L (LinearOrderedField.toField.{u1} L _inst_6)) _inst_7 _inst_8] {t : Finset.{u2} W}, (LT.lt.{0} Nat instLTNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) _inst_7 _inst_8) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Finset.card.{u2} W t)) -> (Exists.{max (succ u2) (succ u1)} (W -> L) (fun (f : W -> L) => And (Eq.{succ u2} W (Finset.sum.{u2, u2} W W (AddCommGroup.toAddCommMonoid.{u2} W _inst_7) t (fun (e : W) => HSMul.hSMul.{u1, u2, u2} L W W (instHSMul.{u1, u2} L W (SMulZeroClass.toSMul.{u1, u2} L W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (SMulWithZero.toSMulZeroClass.{u1, u2} L W (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (MulActionWithZero.toSMulWithZero.{u1, u2} L W (Semiring.toMonoidWithZero.{u1} L (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7))))) (Module.toMulActionWithZero.{u1, u2} L W (StrictOrderedSemiring.toSemiring.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))) (AddCommGroup.toAddCommMonoid.{u2} W _inst_7) _inst_8))))) (f e) e)) (OfNat.ofNat.{u2} W 0 (Zero.toOfNat0.{u2} W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_7)))))))) (And (Eq.{succ u1} L (Finset.sum.{u1, u2} L W (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} L (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} L (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} L (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} L (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))) t (fun (e : W) => f e)) (OfNat.ofNat.{u1} L 0 (Zero.toOfNat0.{u1} L (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6)))))))) (Exists.{succ u2} W (fun (x : W) => And (Membership.mem.{u2, u2} W (Finset.{u2} W) (Finset.instMembershipFinset.{u2} W) x t) (LT.lt.{u1} L (Preorder.toLT.{u1} L (PartialOrder.toPreorder.{u1} L (StrictOrderedRing.toPartialOrder.{u1} L (LinearOrderedRing.toStrictOrderedRing.{u1} L (LinearOrderedCommRing.toLinearOrderedRing.{u1} L (LinearOrderedField.toLinearOrderedCommRing.{u1} L _inst_6)))))) (OfNat.ofNat.{u1} L 0 (Zero.toOfNat0.{u1} L (CommMonoidWithZero.toZero.{u1} L (CommGroupWithZero.toCommMonoidWithZero.{u1} L (Semifield.toCommGroupWithZero.{u1} L (LinearOrderedSemifield.toSemifield.{u1} L (LinearOrderedField.toLinearOrderedSemifield.{u1} L _inst_6))))))) (f x)))))))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_cardₓ'. -/
/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
available when working over an ordered field:
we can ensure a positive coefficient, not just a nonzero coefficient.
@@ -601,6 +751,12 @@ end
end
+/- warning: finite_dimensional.basis_singleton -> FiniteDimensional.basisSingleton is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (forall (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Basis.{u3, u1, u2} ι K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_singleton FiniteDimensional.basisSingletonₓ'. -/
/-- In a vector space with dimension 1, each set {v} is a basis for `v ≠ 0`. -/
@[simps]
noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
@@ -625,6 +781,12 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
exact mul_div_cancel _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
+/- warning: finite_dimensional.basis_singleton_apply -> FiniteDimensional.basisSingleton_apply is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (i : ι), Eq.{succ u2} V (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) => ι -> V) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (fun (_x : ι) => V) (Basis.funLike.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (FiniteDimensional.basisSingleton.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv) i) v
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] (ι : Type.{u1}) [_inst_6 : Unique.{succ u1} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (v : V) (hv : Ne.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2)))))))) (i : ι), Eq.{succ u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) i) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, succ u3} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) _x) (Basis.funLike.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (FiniteDimensional.basisSingleton.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv) i) v
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_applyₓ'. -/
@[simp]
theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
(i : ι) : basisSingleton ι h v hv i = v :=
@@ -633,6 +795,12 @@ theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v
simp [basis_singleton]
#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_apply
+/- warning: finite_dimensional.range_basis_singleton -> FiniteDimensional.range_basisSingleton is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_6 : Unique.{succ u3} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Eq.{succ u2} (Set.{u2} V) (Set.range.{u2, succ u3} V ι (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) => ι -> V) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (fun (_x : ι) => V) (Basis.funLike.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (FiniteDimensional.basisSingleton.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv))) (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v)
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] (ι : Type.{u1}) [_inst_6 : Unique.{succ u1} ι] (h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (v : V) (hv : Ne.{succ u3} V v (OfNat.ofNat.{u3} V 0 (Zero.toOfNat0.{u3} V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2)))))))), Eq.{succ u3} (Set.{u3} V) (Set.range.{u3, succ u1} V ι (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, succ u3} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) _x) (Basis.funLike.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (FiniteDimensional.basisSingleton.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_6 h v hv))) (Singleton.singleton.{u3, u3} V (Set.{u3} V) (Set.instSingletonSet.{u3} V) v)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.range_basis_singleton FiniteDimensional.range_basisSingletonₓ'. -/
@[simp]
theorem range_basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0) :
Set.range (basisSingleton ι h v hv) = {v} := by rw [Set.range_unique, basis_singleton_apply]
@@ -650,6 +818,12 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
+/- warning: finite_dimensional_of_rank_eq_nat -> finiteDimensional_of_rank_eq_nat is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {n : Nat}, (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ((fun (a : Type) (b : Type.{succ u2}) [self : HasLiftT.{1, succ (succ u2)} a b] => self.0) Nat Cardinal.{u2} (HasLiftT.mk.{1, succ (succ u2)} Nat Cardinal.{u2} (CoeTCₓ.coe.{1, succ (succ u2)} Nat Cardinal.{u2} (Nat.castCoe.{succ u2} Cardinal.{u2} Cardinal.hasNatCast.{u2}))) n)) -> (FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {n : Nat}, (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Nat.cast.{succ u2} Cardinal.{u2} Cardinal.instNatCastCardinal.{u2} n)) -> (FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_natₓ'. -/
theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
FiniteDimensional K V :=
by
@@ -657,29 +831,47 @@ theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
exact nat_lt_aleph_0 n
#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_nat
+#print finiteDimensional_of_rank_eq_zero /-
-- TODO: generalize to free modules over general rings.
theorem finiteDimensional_of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_zero.symm
#align finite_dimensional_of_rank_eq_zero finiteDimensional_of_rank_eq_zero
+-/
+#print finiteDimensional_of_rank_eq_one /-
theorem finiteDimensional_of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_one.symm
#align finite_dimensional_of_rank_eq_one finiteDimensional_of_rank_eq_one
+-/
+#print finrank_eq_zero_of_rank_eq_zero /-
theorem finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V] (h : Module.rank K V = 0) :
finrank K V = 0 := by
convert finrank_eq_rank K V
rw [h]; norm_cast
#align finrank_eq_zero_of_rank_eq_zero finrank_eq_zero_of_rank_eq_zero
+-/
variable (K V)
+/- warning: finite_dimensional_bot -> finiteDimensional_bot is a dubious translation:
+lean 3 declaration is
+ forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional_bot finiteDimensional_botₓ'. -/
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
finiteDimensional_of_rank_eq_zero <| by simp
#align finite_dimensional_bot finiteDimensional_bot
variable {K V}
+/- warning: bot_eq_top_of_rank_eq_zero -> bot_eq_top_of_rank_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (OfNat.mk.{succ u2} Cardinal.{u2} 0 (Zero.zero.{succ u2} Cardinal.{u2} Cardinal.hasZero.{u2})))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (Zero.toOfNat0.{succ u2} Cardinal.{u2} Cardinal.instZeroCardinal.{u2}))) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zeroₓ'. -/
theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
by
haveI := finiteDimensional_of_rank_eq_zero h
@@ -687,6 +879,12 @@ theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule
rw [finrank_bot, finrank_eq_zero_of_rank_eq_zero h]
#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zero
+/- warning: rank_eq_zero -> rank_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, Iff (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommMonoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (OfNat.mk.{succ u2} Cardinal.{u2} 0 (Zero.zero.{succ u2} Cardinal.{u2} Cardinal.hasZero.{u2})))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, Iff (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommMonoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 0 (Zero.toOfNat0.{succ u2} Cardinal.{u2} Cardinal.instZeroCardinal.{u2}))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align rank_eq_zero rank_eq_zeroₓ'. -/
@[simp]
theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
⟨fun h =>
@@ -697,6 +895,12 @@ theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
fun h => by rw [h, rank_bot]⟩
#align rank_eq_zero rank_eq_zero
+/- warning: finrank_eq_zero -> finrank_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} [_inst_4 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align finrank_eq_zero finrank_eq_zeroₓ'. -/
@[simp]
theorem finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] : finrank K S = 0 ↔ S = ⊥ := by
rw [← rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
@@ -712,11 +916,14 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+#print Submodule.fg_iff_finiteDimensional /-
/-- A submodule is finitely generated if and only if it is finite-dimensional -/
theorem fg_iff_finiteDimensional (s : Submodule K V) : s.Fg ↔ FiniteDimensional K s :=
⟨fun h => Module.finite_def.2 <| (fg_top s).2 h, fun h => (fg_top s).1 <| Module.finite_def.1 h⟩
#align submodule.fg_iff_finite_dimensional Submodule.fg_iff_finiteDimensional
+-/
+#print Submodule.finiteDimensional_of_le /-
/-- A submodule contained in a finite-dimensional submodule is
finite-dimensional. -/
theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (h : S₁ ≤ S₂) :
@@ -726,21 +933,32 @@ theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(IsNoetherian.iff_rank_lt_aleph0.2
(lt_of_le_of_lt (rank_le_of_submodule _ _ h) (FiniteDimensional.rank_lt_aleph0 K S₂)))
#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_le
+-/
+#print Submodule.finiteDimensional_inf_left /-
/-- The inf of two submodules, the first finite-dimensional, is
finite-dimensional. -/
instance finiteDimensional_inf_left (S₁ S₂ : Submodule K V) [FiniteDimensional K S₁] :
FiniteDimensional K (S₁ ⊓ S₂ : Submodule K V) :=
finiteDimensional_of_le inf_le_left
#align submodule.finite_dimensional_inf_left Submodule.finiteDimensional_inf_left
+-/
+#print Submodule.finiteDimensional_inf_right /-
/-- The inf of two submodules, the second finite-dimensional, is
finite-dimensional. -/
instance finiteDimensional_inf_right (S₁ S₂ : Submodule K V) [FiniteDimensional K S₂] :
FiniteDimensional K (S₁ ⊓ S₂ : Submodule K V) :=
finiteDimensional_of_le inf_le_right
#align submodule.finite_dimensional_inf_right Submodule.finiteDimensional_inf_right
+-/
+/- warning: submodule.finite_dimensional_sup -> Submodule.finiteDimensional_sup is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S₁ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (S₂ : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [h₁ : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₁) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)] [h₂ : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S₂) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S₁ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (S₂ : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [h₁ : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₁)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₁) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₁)] [h₂ : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S₂)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S₂) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S₂)], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) S₁ S₂))
+Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_sup Submodule.finiteDimensional_supₓ'. -/
/-- The sup of two finite-dimensional submodules is
finite-dimensional. -/
instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensional K S₁]
@@ -751,6 +969,12 @@ instance finiteDimensional_sup (S₁ S₂ : Submodule K V) [h₁ : FiniteDimensi
exact (fg_top _).2 (((fg_top S₁).1 h₁).sup ((fg_top S₂).1 h₂))
#align submodule.finite_dimensional_sup Submodule.finiteDimensional_sup
+/- warning: submodule.finite_dimensional_finset_sup -> Submodule.finiteDimensional_finset_sup is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} (s : Finset.{u3} ι) (S : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_4 : forall (i : ι), FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (S i)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} (s : Finset.{u3} ι) (S : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_4 : forall (i : ι), FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Finset.sup.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s S))
+Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_supₓ'. -/
/-- The submodule generated by a finite supremum of finite dimensional submodules is
finite-dimensional.
@@ -766,6 +990,12 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
exact Submodule.finiteDimensional_sup S₁ S₂
#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_sup
+/- warning: submodule.finite_dimensional_supr -> Submodule.finiteDimensional_supᵢ is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (S i)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} [_inst_4 : Finite.{u3} ι] (S : ι -> (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) [_inst_5 : forall (i : ι), FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (S i))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (S i)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (S i))], FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) ι (fun (i : ι) => S i)))
+Case conversion may be inaccurate. Consider using '#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢₓ'. -/
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
sort is finite-dimensional. -/
instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
@@ -776,6 +1006,7 @@ instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodul
exact Submodule.finiteDimensional_finset_sup _ _
#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢ
+#print Submodule.finrank_quotient_add_finrank /-
/-- In a finite-dimensional vector space, the dimensions of a submodule and of the corresponding
quotient add up to the dimension of the space. -/
theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V) :
@@ -785,7 +1016,14 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
exact_mod_cast this
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
+-/
+/- warning: submodule.finrank_lt -> Submodule.finrank_lt is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat Nat.hasLt (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (LT.lt.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLT.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) -> (LT.lt.{0} Nat instLTNat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align submodule.finrank_lt Submodule.finrank_ltₓ'. -/
/-- The dimension of a strict submodule is strictly bounded by the dimension of the ambient
space. -/
theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
@@ -795,6 +1033,7 @@ theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
exact Nat.lt_add_of_zero_lt_left _ _ (finrank_pos_iff.mpr (quotient.nontrivial_of_lt_top _ h))
#align submodule.finrank_lt Submodule.finrank_lt
+#print Submodule.finrank_sup_add_finrank_inf_eq /-
/-- The sum of the dimensions of s + t and s ∩ t is the sum of the dimensions of s and t -/
theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] :
@@ -806,7 +1045,14 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
norm_cast at key
exact key
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
+-/
+/- warning: submodule.finrank_add_le_finrank_add_finrank -> Submodule.finrank_add_le_finrank_add_finrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [_inst_4 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)] [_inst_5 : FiniteDimensional.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) [_inst_4 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)] [_inst_5 : FiniteDimensional.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) _inst_1 (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)], LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t))) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t)))
+Case conversion may be inaccurate. Consider using '#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrankₓ'. -/
theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t :=
by
@@ -814,6 +1060,12 @@ theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensio
exact self_le_add_right _ _
#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrank
+/- warning: submodule.eq_top_of_disjoint -> Submodule.eq_top_of_disjoint is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (s : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) s) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) t) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Disjoint.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.orderBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s t) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Sup.sup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (s : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (t : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), (Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x s)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 s) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 s)) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x t)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 t) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 t))) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Disjoint.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) s t) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Sup.sup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) s t) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjointₓ'. -/
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
(hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ :=
by
@@ -839,11 +1091,13 @@ open FiniteDimensional
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print LinearEquiv.finiteDimensional /-
/-- Finite dimensionality is preserved under linear equivalence. -/
protected theorem finiteDimensional (f : V ≃ₗ[K] V₂) [FiniteDimensional K V] :
FiniteDimensional K V₂ :=
Module.Finite.equiv f
#align linear_equiv.finite_dimensional LinearEquiv.finiteDimensional
+-/
variable {R M M₂ : Type _} [Ring R] [AddCommGroup M] [AddCommGroup M₂]
@@ -855,6 +1109,12 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+/- warning: finite_dimensional_finsupp -> finiteDimensional_finsupp is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_4 : Finite.{succ u3} ι] [h : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, max u3 u2} K (Finsupp.{u3, u2} ι V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))) _inst_1 (Finsupp.addCommGroup.{u3, u2} ι V _inst_2) (Finsupp.module.{u3, u2, u1} ι V K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_4 : Finite.{succ u3} ι] [h : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], FiniteDimensional.{u1, max u2 u3} K (Finsupp.{u3, u2} ι V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))) _inst_1 (Finsupp.addCommGroup.{u3, u2} ι V _inst_2) (Finsupp.module.{u3, u2, u1} ι V K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)
+Case conversion may be inaccurate. Consider using '#align finite_dimensional_finsupp finiteDimensional_finsuppₓ'. -/
instance finiteDimensional_finsupp {ι : Type _} [Finite ι] [h : FiniteDimensional K V] :
FiniteDimensional K (ι →₀ V) :=
(Finsupp.linearEquivFunOnFinite K V ι).symm.FiniteDimensional
@@ -869,6 +1129,7 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+#print FiniteDimensional.eq_of_le_of_finrank_le /-
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
@@ -878,16 +1139,20 @@ theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(Submodule.comap_subtype_eq_top.1
(eq_top_of_finrank_eq (le_antisymm (comap (Submodule.subtype S₂) S₁).finrank_le hd)))
#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_le
+-/
+#print FiniteDimensional.eq_of_le_of_finrank_eq /-
/-- If a submodule is less than or equal to a finite-dimensional
submodule with the same dimension, they are equal. -/
theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₁ = finrank K S₂) : S₁ = S₂ :=
eq_of_le_of_finrank_le hle hd.ge
#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eq
+-/
variable [FiniteDimensional K V] [FiniteDimensional K V₂]
+#print FiniteDimensional.LinearEquiv.quotEquivOfEquiv /-
/-- Given isomorphic subspaces `p q` of vector spaces `V` and `V₁` respectively,
`p.quotient` is isomorphic to `q.quotient`. -/
noncomputable def LinearEquiv.quotEquivOfEquiv {p : Subspace K V} {q : Subspace K V₂}
@@ -898,7 +1163,9 @@ noncomputable def LinearEquiv.quotEquivOfEquiv {p : Subspace K V} {q : Subspace
LinearEquiv.finrank_eq f₁, Submodule.finrank_quotient_add_finrank,
LinearEquiv.finrank_eq f₂])
#align finite_dimensional.linear_equiv.quot_equiv_of_equiv FiniteDimensional.LinearEquiv.quotEquivOfEquiv
+-/
+#print FiniteDimensional.LinearEquiv.quotEquivOfQuotEquiv /-
-- TODO: generalize to the case where one of `p` and `q` is finite-dimensional.
/-- Given the subspaces `p q`, if `p.quotient ≃ₗ[K] q`, then `q.quotient ≃ₗ[K] p` -/
noncomputable def LinearEquiv.quotEquivOfQuotEquiv {p q : Subspace K V} (f : (V ⧸ p) ≃ₗ[K] q) :
@@ -908,6 +1175,7 @@ noncomputable def LinearEquiv.quotEquivOfQuotEquiv {p q : Subspace K V} (f : (V
rw [Submodule.finrank_quotient_add_finrank, ← LinearEquiv.finrank_eq f, add_comm,
Submodule.finrank_quotient_add_finrank]
#align finite_dimensional.linear_equiv.quot_equiv_of_quot_equiv FiniteDimensional.LinearEquiv.quotEquivOfQuotEquiv
+-/
end DivisionRing
@@ -922,6 +1190,12 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+/- warning: linear_map.surjective_of_injective -> LinearMap.surjective_of_injective is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.surjective_of_injective LinearMap.surjective_of_injectiveₓ'. -/
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
@@ -930,18 +1204,36 @@ theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hin
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
+/- warning: linear_map.finite_dimensional_of_surjective -> LinearMap.finiteDimensional_of_surjective is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))) -> (FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5)
+Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjectiveₓ'. -/
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K] V₂)
(hf : f.range = ⊤) : FiniteDimensional K V₂ :=
Module.Finite.of_surjective f <| range_eq_top.1 hf
#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjective
+/- warning: linear_map.finite_dimensional_range -> LinearMap.finiteDimensional_range is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), FiniteDimensional.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) _inst_1 (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_rangeₓ'. -/
/-- The range of a linear map defined on a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
FiniteDimensional K f.range :=
Module.Finite.range f
#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_range
+/- warning: linear_map.injective_iff_surjective -> LinearMap.injective_iff_surjective is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjectiveₓ'. -/
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
Injective f ↔ Surjective f :=
@@ -952,10 +1244,17 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
this).Injective⟩
#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjective
+/- warning: linear_map.ker_eq_bot_iff_range_eq_top -> LinearMap.ker_eq_bot_iff_range_eq_top is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_topₓ'. -/
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
f.ker = ⊥ ↔ f.range = ⊤ := by rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_top
+#print LinearMap.mul_eq_one_of_mul_eq_one /-
/-- In a finite-dimensional space, if linear maps are inverse to each other on one side then they
are also inverse to each other on the other side. -/
theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (hfg : f * g = 1) :
@@ -968,19 +1267,30 @@ theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (
have : f * (g * i) = f * 1 := congr_arg _ hi
rw [← mul_assoc, hfg, one_mul, mul_one] at this <;> rwa [← this]
#align linear_map.mul_eq_one_of_mul_eq_one LinearMap.mul_eq_one_of_mul_eq_one
+-/
+#print LinearMap.mul_eq_one_comm /-
/-- In a finite-dimensional space, linear maps are inverse to each other on one side if and only if
they are inverse to each other on the other side. -/
theorem mul_eq_one_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f * g = 1 ↔ g * f = 1 :=
⟨mul_eq_one_of_mul_eq_one, mul_eq_one_of_mul_eq_one⟩
#align linear_map.mul_eq_one_comm LinearMap.mul_eq_one_comm
+-/
+#print LinearMap.comp_eq_id_comm /-
/-- In a finite-dimensional space, linear maps are inverse to each other on one side if and only if
they are inverse to each other on the other side. -/
theorem comp_eq_id_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f.comp g = id ↔ g.comp f = id :=
mul_eq_one_comm
#align linear_map.comp_eq_id_comm LinearMap.comp_eq_id_comm
+-/
+/- warning: linear_map.finrank_range_add_finrank_ker -> LinearMap.finrank_range_add_finrank_ker is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (FiniteDimensional.finrank.{u1, u3} K (coeSort.{succ u3, succ (succ u3)} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), Eq.{1} Nat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (FiniteDimensional.finrank.{u1, u3} K (Subtype.{succ u3} V₂ (fun (x : V₂) => Membership.mem.{u3, u3} V₂ (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SetLike.instMembership.{u3, u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) V₂ (Submodule.setLike.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)) x (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u3} K V₂ (DivisionRing.toRing.{u1} K _inst_1) _inst_4 _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f)) (Submodule.module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5 (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f))) (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align linear_map.finrank_range_add_finrank_ker LinearMap.finrank_range_add_finrank_kerₓ'. -/
/-- rank-nullity theorem : the dimensions of the kernel and the range of a linear map add up to
the dimension of the source space. -/
theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
@@ -1002,23 +1312,47 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
variable [FiniteDimensional K V]
+/- warning: linear_equiv.of_injective_endo -> LinearEquiv.ofInjectiveEndo is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), (Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3)
+Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndoₓ'. -/
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
LinearEquiv.ofBijective f ⟨h_inj, LinearMap.injective_iff_surjective.mp h_inj⟩
#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndo
+/- warning: linear_equiv.coe_of_injective_endo -> LinearEquiv.coe_ofInjectiveEndo is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (V -> V) (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1)) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (forall (ᾰ : V), (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V) _x) (SMulHomClass.toFunLike.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u2, u1, u2, u2} (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) K V V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u2, u2} K K V V (LinearEquiv.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)
+Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndoₓ'. -/
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
⇑(ofInjectiveEndo f h_inj) = f :=
rfl
#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndo
+/- warning: linear_equiv.of_injective_endo_right_inv -> LinearEquiv.ofInjectiveEndo_right_inv is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) f (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj)))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
f * (ofInjectiveEndo f h_inj).symm = 1 :=
LinearMap.ext <| (ofInjectiveEndo f h_inj).apply_symm_apply
#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_inv
+/- warning: linear_equiv.of_injective_endo_left_inv -> LinearEquiv.ofInjectiveEndo_left_inv is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) => V -> V) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1))))) (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearEquiv.ofInjectiveEndo._proof_1.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo._proof_2.{u1} K _inst_1) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.one.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.module.End.hasOne.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (h_inj : Function.Injective.{succ u2, succ u2} V V (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (HMul.hMul.{u2, u2, u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (instHMul.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (LinearEquiv.toLinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.ofInjectiveEndo.{u1, u2} K V _inst_1 _inst_2 _inst_3 _inst_4 f h_inj))) f) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) 1 (One.toOfNat1.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instOneEnd.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.of_injective_endo_left_inv LinearEquiv.ofInjectiveEndo_left_invₓ'. -/
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
((ofInjectiveEndo f h_inj).symm : V →ₗ[K] V) * f = 1 :=
@@ -1031,6 +1365,12 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+/- warning: linear_map.is_unit_iff_ker_eq_bot -> LinearMap.isUnit_iff_ker_eq_bot is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_botₓ'. -/
theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.ker = ⊥ :=
by
constructor
@@ -1045,6 +1385,12 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUn
rfl⟩
#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_bot
+/- warning: linear_map.is_unit_iff_range_eq_top -> LinearMap.isUnit_iff_range_eq_top is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3), Iff (IsUnit.{u2} (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) f) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.range.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u2} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_topₓ'. -/
theorem isUnit_iff_range_eq_top [FiniteDimensional K V] (f : V →ₗ[K] V) : IsUnit f ↔ f.range = ⊤ :=
by rw [is_unit_iff_ker_eq_bot, ker_eq_bot_iff_range_eq_top]
#align linear_map.is_unit_iff_range_eq_top LinearMap.isUnit_iff_range_eq_top
@@ -1057,16 +1403,24 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+/- warning: finrank_zero_iff_forall_zero -> finrank_zero_iff_forall_zero is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (forall (x : V), Eq.{succ u2} V x (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (forall (x : V), Eq.{succ u2} V x (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zeroₓ'. -/
theorem finrank_zero_iff_forall_zero [FiniteDimensional K V] : finrank K V = 0 ↔ ∀ x : V, x = 0 :=
finrank_zero_iff.trans (subsingleton_iff_forall_eq 0)
#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zero
+#print basisOfFinrankZero /-
/-- If `ι` is an empty type and `V` is zero-dimensional, there is a unique `ι`-indexed basis. -/
noncomputable def basisOfFinrankZero [FiniteDimensional K V] {ι : Type _} [IsEmpty ι]
(hV : finrank K V = 0) : Basis ι K V :=
haveI : Subsingleton V := finrank_zero_iff.1 hV
Basis.empty _
#align basis_of_finrank_zero basisOfFinrankZero
+-/
end
@@ -1075,6 +1429,12 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+/- warning: linear_map.injective_iff_surjective_of_finrank_eq_finrank -> LinearMap.injective_iff_surjective_of_finrank_eq_finrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (Function.Surjective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)))
+Case conversion may be inaccurate. Consider using '#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrankₓ'. -/
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
Function.Injective f ↔ Function.Surjective f :=
@@ -1087,12 +1447,24 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
exact finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
+/- warning: linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank -> LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.hasTop.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (forall {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5}, Iff (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f) (Bot.bot.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) (Eq.{succ u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (LinearMap.range.{u1, u1, u2, u3, max u2 u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (RingHomSurjective.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) f) (Top.top.{u3} (Submodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (Submodule.instTopSubmodule.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5))))
+Case conversion may be inaccurate. Consider using '#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrankₓ'. -/
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
f.ker = ⊥ ↔ f.range = ⊤ := by
rw [range_eq_top, ker_eq_bot, injective_iff_surjective_of_finrank_eq_finrank H]
#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank
+/- warning: linear_map.linear_equiv_of_injective -> LinearMap.linearEquivOfInjective is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] (f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5), (Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) -> (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5)
+Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjectiveₓ'. -/
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
between the two vector spaces. -/
@@ -1102,6 +1474,12 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
⟨hf, (LinearMap.injective_iff_surjective_of_finrank_eq_finrank hdim).mp hf⟩
#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjective
+/- warning: linear_map.linear_equiv_of_injective_apply -> LinearMap.linearEquivOfInjective_apply is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} V₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearEquiv.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (LinearMap.linearEquivOfInjective._proof_1.{u1} K _inst_1) (LinearMap.linearEquivOfInjective._proof_2.{u1} K _inst_1)) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} K K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) => V -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} K K V V₂ (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {V₂ : Type.{u3}} [_inst_4 : AddCommGroup.{u3} V₂] [_inst_5 : Module.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] [_inst_7 : FiniteDimensional.{u1, u3} K V₂ _inst_1 _inst_4 _inst_5] {f : LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5} (hf : Function.Injective.{succ u2, succ u3} V V₂ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f)) (hdim : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (FiniteDimensional.finrank.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_4 _inst_5)) (x : V), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (SMulZeroClass.toSMul.{u1, u2} K V (AddMonoid.toZero.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u2} K V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2))) (DistribMulAction.toDistribSMul.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u3} K V₂ (AddMonoid.toZero.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribSMul.toSMulZeroClass.{u1, u3} K V₂ (AddMonoid.toAddZeroClass.{u3} V₂ (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4))) (DistribMulAction.toDistribSMul.{u1, u3} K V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u1, u2, u3} (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) K V V₂ (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)) (AddCommMonoid.toAddMonoid.{u3} V₂ (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4)) (Module.toDistribMulAction.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u3} K V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_5) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, max u2 u3} K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, u3, max u2 u3} K K V V₂ (LinearEquiv.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (RingHomInvPair.ids.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))))))) (LinearMap.linearEquivOfInjective.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 V₂ _inst_4 _inst_5 _inst_6 _inst_7 f hf hdim) x) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (LinearMap.{u1, u1, u2, u3} K K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) V V₂ (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u3} K K V V₂ (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} K (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) f x)
+Case conversion may be inaccurate. Consider using '#align linear_map.linear_equiv_of_injective_apply LinearMap.linearEquivOfInjective_applyₓ'. -/
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
{f : V →ₗ[K] V₂} (hf : Injective f) (hdim : finrank K V = finrank K V₂) (x : V) :
@@ -1113,6 +1491,7 @@ end LinearMap
section
+#print divisionRingOfFiniteDimensional /-
/-- A domain that is module-finite as an algebra over a field is a division ring. -/
noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
@@ -1136,12 +1515,15 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring
1)
inv_zero := dif_pos rfl }
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
+-/
+#print fieldOfFiniteDimensional /-
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
noncomputable def fieldOfFiniteDimensional (F K : Type _) [Field F] [CommRing K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : Field K :=
{ divisionRingOfFiniteDimensional F K, ‹CommRing K› with }
#align field_of_finite_dimensional fieldOfFiniteDimensional
+-/
end
@@ -1152,25 +1534,38 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+/- warning: submodule.eq_top_of_finrank_eq -> Submodule.eq_top_of_finrank_eq is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {S : Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 S) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 S)) (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) S (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eqₓ'. -/
theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
(h : finrank K S = finrank K V) : S = ⊤ :=
FiniteDimensional.eq_of_le_of_finrank_eq le_top (by simp [h, finrank_top])
#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
+#print Submodule.finrank_mono /-
theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V => finrank K s :=
fun s t => finrank_le_finrank_of_le
#align submodule.finrank_mono Submodule.finrank_mono
+-/
+#print Submodule.finrank_lt_finrank_of_lt /-
theorem finrank_lt_finrank_of_lt {s t : Submodule K V} [FiniteDimensional K t] (hst : s < t) :
finrank K s < finrank K t :=
(comapSubtypeEquivOfLe hst.le).finrank_eq.symm.trans_lt <|
finrank_lt (le_top.lt_of_ne <| hst.not_le ∘ comap_subtype_eq_top.1)
#align submodule.finrank_lt_finrank_of_lt Submodule.finrank_lt_finrank_of_lt
+-/
+#print Submodule.finrank_strictMono /-
theorem finrank_strictMono [FiniteDimensional K V] :
StrictMono fun s : Submodule K V => finrank K s := fun s t => finrank_lt_finrank_of_lt
#align submodule.finrank_strict_mono Submodule.finrank_strictMono
+-/
+#print Submodule.finrank_add_eq_of_isCompl /-
theorem finrank_add_eq_of_isCompl [FiniteDimensional K V] {U W : Submodule K V} (h : IsCompl U W) :
finrank K U + finrank K W = finrank K V :=
by
@@ -1178,6 +1573,7 @@ theorem finrank_add_eq_of_isCompl [FiniteDimensional K V] {U W : Submodule K V}
add_zero]
exact finrank_top _ _
#align submodule.finrank_add_eq_of_is_compl Submodule.finrank_add_eq_of_isCompl
+-/
end DivisionRing
@@ -1191,6 +1587,12 @@ section Span
open Submodule
+/- warning: finrank_span_singleton -> finrank_span_singleton is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {v : V}, (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v))) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v)))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {v : V}, (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (Subtype.{succ u2} V (fun (x : V) => Membership.mem.{u2, u2} V (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) x (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v)))) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v))) (Submodule.module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v)))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))
+Case conversion may be inaccurate. Consider using '#align finrank_span_singleton finrank_span_singletonₓ'. -/
theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1 :=
by
apply le_antisymm
@@ -1200,15 +1602,23 @@ theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1
simp [hv]
#align finrank_span_singleton finrank_span_singleton
+#print Set.finrank_mono /-
theorem Set.finrank_mono [FiniteDimensional K V] {s t : Set V} (h : s ⊆ t) :
s.finrank K ≤ t.finrank K :=
finrank_mono (span_mono h)
#align set.finrank_mono Set.finrank_mono
+-/
end Span
section Basis
+/- warning: span_eq_top_of_linear_independent_of_card_eq_finrank -> span_eq_top_of_linearIndependent_of_card_eq_finrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [hι : Nonempty.{succ u3} ι] [_inst_4 : Fintype.{u3} ι] {b : ι -> V}, (LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) -> (Eq.{1} Nat (Fintype.card.{u3} ι _inst_4) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Set.range.{u2, succ u3} V ι b)) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [hι : Nonempty.{succ u1} ι] [_inst_4 : Fintype.{u1} ι] {b : ι -> V}, (LinearIndependent.{u1, u2, u3} ι K V b (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) -> (Eq.{1} Nat (Fintype.card.{u1} ι _inst_4) (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3)) -> (Eq.{succ u3} (Submodule.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Submodule.span.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3 (Set.range.{u3, succ u1} V ι b)) (Top.top.{u3} (Submodule.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrankₓ'. -/
theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι : Nonempty ι]
[Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
(card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ :=
@@ -1228,6 +1638,7 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
+#print basisOfLinearIndependentOfCardEqFinrank /-
/-- A linear independent family of `finrank K V` vectors forms a basis. -/
@[simps]
noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
@@ -1235,7 +1646,14 @@ noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempt
Basis ι K V :=
Basis.mk lin_ind <| (span_eq_top_of_linearIndependent_of_card_eq_finrank lin_ind card_eq).ge
#align basis_of_linear_independent_of_card_eq_finrank basisOfLinearIndependentOfCardEqFinrank
+-/
+/- warning: coe_basis_of_linear_independent_of_card_eq_finrank -> coe_basisOfLinearIndependentOfCardEqFinrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Type.{u3}} [_inst_4 : Nonempty.{succ u3} ι] [_inst_5 : Fintype.{u3} ι] {b : ι -> V} (lin_ind : LinearIndependent.{u3, u1, u2} ι K V b (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (card_eq : Eq.{1} Nat (Fintype.card.{u3} ι _inst_5) (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)), Eq.{max (succ u3) (succ u2)} (ι -> V) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) => ι -> V) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) ι (fun (_x : ι) => V) (Basis.funLike.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (basisOfLinearIndependentOfCardEqFinrank.{u1, u2, u3} K V _inst_1 _inst_2 _inst_3 ι _inst_4 _inst_5 b lin_ind card_eq)) b
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {ι : Type.{u1}} [_inst_4 : Nonempty.{succ u1} ι] [_inst_5 : Fintype.{u1} ι] {b : ι -> V} (lin_ind : LinearIndependent.{u1, u2, u3} ι K V b (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (card_eq : Eq.{1} Nat (Fintype.card.{u1} ι _inst_5) (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3)), Eq.{max (succ u3) (succ u1)} (forall (a : ι), (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) a) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u1, succ u3} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => V) _x) (Basis.funLike.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3) (basisOfLinearIndependentOfCardEqFinrank.{u2, u3, u1} K V _inst_1 _inst_2 _inst_3 ι _inst_4 _inst_5 b lin_ind card_eq)) b
+Case conversion may be inaccurate. Consider using '#align coe_basis_of_linear_independent_of_card_eq_finrank coe_basisOfLinearIndependentOfCardEqFinrankₓ'. -/
@[simp]
theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
@@ -1243,6 +1661,7 @@ theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι]
Basis.coe_mk _ _
#align coe_basis_of_linear_independent_of_card_eq_finrank coe_basisOfLinearIndependentOfCardEqFinrank
+#print finsetBasisOfLinearIndependentOfCardEqFinrank /-
/-- A linear independent finset of `finrank K V` vectors forms a basis. -/
@[simps]
noncomputable def finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (hs : s.Nonempty)
@@ -1250,14 +1669,18 @@ noncomputable def finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (
@basisOfLinearIndependentOfCardEqFinrank _ _ _ _ _ _ ⟨(⟨hs.some, hs.choose_spec⟩ : s)⟩ _ _ lin_ind
(trans (Fintype.card_coe _) card_eq)
#align finset_basis_of_linear_independent_of_card_eq_finrank finsetBasisOfLinearIndependentOfCardEqFinrank
+-/
+#print coe_finsetBasisOfLinearIndependentOfCardEqFinrank /-
@[simp]
theorem coe_finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (hs : s.Nonempty)
(lin_ind : LinearIndependent K (coe : s → V)) (card_eq : s.card = finrank K V) :
⇑(finsetBasisOfLinearIndependentOfCardEqFinrank hs lin_ind card_eq) = coe :=
Basis.coe_mk _ _
#align coe_finset_basis_of_linear_independent_of_card_eq_finrank coe_finsetBasisOfLinearIndependentOfCardEqFinrank
+-/
+#print setBasisOfLinearIndependentOfCardEqFinrank /-
/-- A linear independent set of `finrank K V` vectors forms a basis. -/
@[simps]
noncomputable def setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonempty s] [Fintype s]
@@ -1265,13 +1688,16 @@ noncomputable def setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonemp
Basis s K V :=
basisOfLinearIndependentOfCardEqFinrank lin_ind (trans s.toFinset_card.symm card_eq)
#align set_basis_of_linear_independent_of_card_eq_finrank setBasisOfLinearIndependentOfCardEqFinrank
+-/
+#print coe_setBasisOfLinearIndependentOfCardEqFinrank /-
@[simp]
theorem coe_setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonempty s] [Fintype s]
(lin_ind : LinearIndependent K (coe : s → V)) (card_eq : s.toFinset.card = finrank K V) :
⇑(setBasisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = coe :=
Basis.coe_mk _ _
#align coe_set_basis_of_linear_independent_of_card_eq_finrank coe_setBasisOfLinearIndependentOfCardEqFinrank
+-/
end Basis
@@ -1282,6 +1708,12 @@ We now give characterisations of `finrank K V = 1` and `finrank K V ≤ 1`.
section finrank_eq_one
+/- warning: finrank_eq_one_iff_of_nonzero -> finrank_eq_one_iff_of_nonzero is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v)) (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v)) (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzeroₓ'. -/
/-- A vector space with a nonzero vector `v` has dimension 1 iff `v` spans.
-/
theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
@@ -1294,6 +1726,12 @@ theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
simp))⟩
#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzero
+/- warning: finrank_eq_one_iff_of_nonzero' -> finrank_eq_one_iff_of_nonzero' is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) c v) w)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) c v) w)))
+Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff_of_nonzero' finrank_eq_one_iff_of_nonzero'ₓ'. -/
/-- A module with a nonzero vector `v` has dimension 1 iff every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
@@ -1303,6 +1741,12 @@ theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
apply span_singleton_eq_top_iff
#align finrank_eq_one_iff_of_nonzero' finrank_eq_one_iff_of_nonzero'
+/- warning: finrank_eq_one_iff -> finrank_eq_one_iff is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (ι : Type.{u3}) [_inst_4 : Unique.{succ u3} ι], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Nonempty.{max (succ u3) (succ u1) (succ u2)} (Basis.{u3, u1, u2} ι K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] (ι : Type.{u1}) [_inst_4 : Unique.{succ u1} ι], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nonempty.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))
+Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff finrank_eq_one_iffₓ'. -/
/-- A module has dimension 1 iff there is some `v : V` so `{v}` is a basis.
-/
theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonempty (Basis ι K V) :=
@@ -1315,6 +1759,12 @@ theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonem
simpa using finrank_eq_card_basis b
#align finrank_eq_one_iff finrank_eq_one_iff
+/- warning: finrank_eq_one_iff' -> finrank_eq_one_iff' is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Exists.{succ u2} V (fun (v : V) => Exists.{0} (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (fun (n : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) => forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) c v) w))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Iff (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Exists.{succ u2} V (fun (v : V) => Exists.{0} (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (fun (n : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) => forall (w : V), Exists.{succ u1} K (fun (c : K) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) c v) w))))
+Case conversion may be inaccurate. Consider using '#align finrank_eq_one_iff' finrank_eq_one_iff'ₓ'. -/
/-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ (v : V)(n : v ≠ 0), ∀ w : V, ∃ c : K, c • v = w :=
@@ -1327,6 +1777,7 @@ theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ (v : V)(n : v ≠ 0), ∀
infer_instance; infer_instance
#align finrank_eq_one_iff' finrank_eq_one_iff'
+#print finrank_le_one_iff /-
-- Not sure why this aren't found automatically.
/-- A finite dimensional module has dimension at most 1 iff
there is some `v : V` so every vector is a multiple of `v`.
@@ -1349,18 +1800,33 @@ theorem finrank_le_one_iff [FiniteDimensional K V] :
· rintro ⟨v, p⟩
exact finrank_le_one v p
#align finrank_le_one_iff finrank_le_one_iff
+-/
+#print Submodule.finrank_le_one_iff_isPrincipal /-
theorem Submodule.finrank_le_one_iff_isPrincipal (W : Submodule K V) [FiniteDimensional K W] :
finrank K W ≤ 1 ↔ W.IsPrincipal := by
rw [← W.rank_le_one_iff_is_principal, ← finrank_eq_rank, ← Cardinal.natCast_le, Nat.cast_one]
#align submodule.finrank_le_one_iff_is_principal Submodule.finrank_le_one_iff_isPrincipal
+-/
+/- warning: module.finrank_le_one_iff_top_is_principal -> Module.finrank_le_one_iff_top_isPrincipal is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Submodule.IsPrincipal.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Top.top.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3], Iff (LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Submodule.IsPrincipal.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Top.top.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipalₓ'. -/
theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
finrank K V ≤ 1 ↔ (⊤ : Submodule K V).IsPrincipal := by
rw [← Module.rank_le_one_iff_top_isPrincipal, ← finrank_eq_rank, ← Cardinal.natCast_le,
Nat.cast_one]
#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipal
+/- warning: surjective_of_nonzero_of_finrank_eq_one -> surjective_of_nonzero_of_finrank_eq_one is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {W : Type.{u3}} {A : Type.{u4}} [_inst_4 : Semiring.{u4} A] [_inst_5 : Module.{u4, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : AddCommGroup.{u3} W] [_inst_7 : Module.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_8 : Module.{u4, u3} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u2, u3, u1, u4} V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) K A _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} K W (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u3} K W (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (MulActionWithZero.toSMulWithZero.{u1, u3} K W (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u3} W (AddMonoid.toAddZeroClass.{u3} W (AddCommMonoid.toAddMonoid.{u3} W (AddCommGroup.toAddCommMonoid.{u3} W _inst_6)))) (Module.toMulActionWithZero.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u3} K W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (forall {f : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (OfNat.mk.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) 0 (Zero.zero.{max u2 u3} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (LinearMap.hasZero.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))))))) -> (Function.Surjective.{succ u2, succ u3} V W (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) (fun (_x : LinearMap.{u4, u4, u2, u3} A A _inst_4 _inst_4 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8) => V -> W) (LinearMap.hasCoeToFun.{u4, u4, u2, u3} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u3} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A _inst_4))) f)))
+but is expected to have type
+ forall {K : Type.{u3}} {V : Type.{u4}} [_inst_1 : DivisionRing.{u3} K] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] {W : Type.{u2}} {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u4} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_6 : AddCommGroup.{u2} W] [_inst_7 : Module.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_8 : Module.{u1, u2} A W _inst_4 (AddCommGroup.toAddCommMonoid.{u2} W _inst_6)] [_inst_9 : LinearMap.CompatibleSMul.{u4, u2, u3, u1} V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) K A _inst_4 (SMulZeroClass.toSMul.{u3, u4} K V (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u4} K V (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K V (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u4} V (SubNegZeroMonoid.toNegZeroClass.{u4} V (SubtractionMonoid.toSubNegZeroMonoid.{u4} V (SubtractionCommMonoid.toSubtractionMonoid.{u4} V (AddCommGroup.toDivisionAddCommMonoid.{u4} V _inst_2))))) (Module.toMulActionWithZero.{u3, u4} K V (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) _inst_3)))) _inst_5 (SMulZeroClass.toSMul.{u3, u2} K W (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (SMulWithZero.toSMulZeroClass.{u3, u2} K W (MonoidWithZero.toZero.{u3} K (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (MulActionWithZero.toSMulWithZero.{u3, u2} K W (Semiring.toMonoidWithZero.{u3} K (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1))) (NegZeroClass.toZero.{u2} W (SubNegZeroMonoid.toNegZeroClass.{u2} W (SubtractionMonoid.toSubNegZeroMonoid.{u2} W (SubtractionCommMonoid.toSubtractionMonoid.{u2} W (AddCommGroup.toDivisionAddCommMonoid.{u2} W _inst_6))))) (Module.toMulActionWithZero.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_7)))) _inst_8], (Eq.{1} Nat (FiniteDimensional.finrank.{u3, u2} K W (DivisionSemiring.toSemiring.{u3} K (DivisionRing.toDivisionSemiring.{u3} K _inst_1)) _inst_6 _inst_7) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (forall {f : LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8}, (Ne.{max (succ u4) (succ u2)} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) f (OfNat.ofNat.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) (LinearMap.instZeroLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)))))) -> (Function.Surjective.{succ u4, succ u2} V W (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u1, u1, u4, u2} A A _inst_4 _inst_4 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4)) V W (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u4, u2} A A V W _inst_4 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} W _inst_6) _inst_5 _inst_8 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A _inst_4))) f)))
+Case conversion may be inaccurate. Consider using '#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_oneₓ'. -/
-- We use the `linear_map.compatible_smul` typeclass here, to encompass two situations:
-- * `A = K`
-- * `[field K] [algebra K A] [is_scalar_tower K A V] [is_scalar_tower K A W]`
@@ -1375,6 +1841,12 @@ theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type _} [Semiring A] [Mod
exact ⟨c • v, by simp⟩
#align surjective_of_nonzero_of_finrank_eq_one surjective_of_nonzero_of_finrank_eq_one
+/- warning: is_simple_module_of_finrank_eq_one -> is_simple_module_of_finrank_eq_one is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {A : Type.{u3}} [_inst_4 : Semiring.{u3} A] [_inst_5 : Module.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_6 : SMul.{u1, u3} K A] [_inst_7 : IsScalarTower.{u1, u3, u2} K A V _inst_6 (SMulZeroClass.toHasSmul.{u3, u2} A V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u3, u2} A V (MulZeroClass.toHasZero.{u3} A (MulZeroOneClass.toMulZeroClass.{u3} A (MonoidWithZero.toMulZeroOneClass.{u3} A (Semiring.toMonoidWithZero.{u3} A _inst_4)))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u3, u2} A V (Semiring.toMonoidWithZero.{u3} A _inst_4) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (IsSimpleOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Preorder.toLE.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u2} (Submodule.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5) (Submodule.completeLattice.{u3, u2} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_5)))
+but is expected to have type
+ forall {K : Type.{u2}} {V : Type.{u3}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] {A : Type.{u1}} [_inst_4 : Semiring.{u1} A] [_inst_5 : Module.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_6 : SMul.{u2, u1} K A] [_inst_7 : IsScalarTower.{u2, u1, u3} K A V _inst_6 (SMulZeroClass.toSMul.{u1, u3} A V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u3} A V (MonoidWithZero.toZero.{u1} A (Semiring.toMonoidWithZero.{u1} A _inst_4)) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A V (Semiring.toMonoidWithZero.{u1} A _inst_4) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5)))) (SMulZeroClass.toSMul.{u2, u3} K V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} K V (MonoidWithZero.toZero.{u2} K (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K V (Semiring.toMonoidWithZero.{u2} K (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))))], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u3} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) _inst_2 _inst_3) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (IsSimpleOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Preorder.toLE.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (PartialOrder.toPreorder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Submodule.completeLattice.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5))))) (CompleteLattice.toBoundedOrder.{u3} (Submodule.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5) (Submodule.completeLattice.{u1, u3} A V _inst_4 (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_5)))
+Case conversion may be inaccurate. Consider using '#align is_simple_module_of_finrank_eq_one is_simple_module_of_finrank_eq_oneₓ'. -/
/-- Any `K`-algebra module that is 1-dimensional over `K` is simple. -/
theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K A]
[IsScalarTower K A V] (h : finrank K V = 1) : IsSimpleOrder (Submodule A V) :=
@@ -1397,28 +1869,56 @@ open Module
variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
+/- warning: subalgebra.finite_dimensional_to_submodule -> Subalgebra.finiteDimensional_toSubmodule is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
+but is expected to have type
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, Iff (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
+Case conversion may be inaccurate. Consider using '#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmoduleₓ'. -/
/-- A `subalgebra` is `finite_dimensional` iff it is finite_dimensional as a submodule. -/
theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
FiniteDimensional F S.toSubmodule ↔ FiniteDimensional F S :=
Iff.rfl
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
+/- warning: finite_dimensional.of_subalgebra_to_submodule -> FiniteDimensional.of_subalgebra_toSubmodule is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S))
+but is expected to have type
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmoduleₓ'. -/
+/- warning: finite_dimensional.subalgebra_to_submodule -> FiniteDimensional.subalgebra_toSubmodule is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Field.toDivisionRing.{u1} F _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) E (Submodule.setLike.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Field.toDivisionRing.{u1} F _inst_1) (Submodule.addCommGroup.{u1, u2} F E (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1)) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)) (Submodule.module.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) => (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) -> (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (LE.le.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (LE.le.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Preorder.toLE.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (Submodule.completeLattice.{u1, u2} F E (CommSemiring.toSemiring.{u1} F (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} E (Semiring.toNonAssocSemiring.{u2} E (Ring.toSemiring.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))))))) (Subalgebra.toSubmodule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S)))
+but is expected to have type
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Field.toDivisionRing.{u2} F _inst_1) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) -> (FiniteDimensional.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) (SetLike.instMembership.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) S) E (Submodule.setLike.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))) x (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (a : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) a) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S))) (Field.toDivisionRing.{u2} F _inst_1) (Submodule.addCommGroup.{u2, u1} F E (DivisionRing.toRing.{u2} F (Field.toDivisionRing.{u2} F _inst_1)) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)) (Submodule.module.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (fun (_x : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))))) (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) => LE.le.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instPartialOrder.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) => LE.le.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Preorder.toLE.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (Submodule.completeLattice.{u2, u1} F E (CommSemiring.toSemiring.{u2} F (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} E (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} E (Semiring.toNonAssocSemiring.{u1} E (Ring.toSemiring.{u1} E _inst_2)))) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Subalgebra.toSubmodule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S)))
+Case conversion may be inaccurate. Consider using '#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmoduleₓ'. -/
alias Subalgebra.finiteDimensional_toSubmodule ↔
FiniteDimensional.of_subalgebra_toSubmodule FiniteDimensional.subalgebra_toSubmodule
#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmodule
#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmodule
+#print FiniteDimensional.finiteDimensional_subalgebra /-
instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
(S : Subalgebra F E) : FiniteDimensional F S :=
FiniteDimensional.of_subalgebra_toSubmodule inferInstance
#align finite_dimensional.finite_dimensional_subalgebra FiniteDimensional.finiteDimensional_subalgebra
+-/
+#print Subalgebra.finiteDimensional_bot /-
instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) :=
by
nontriviality E
exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
+-/
+/- warning: subalgebra.eq_bot_of_rank_le_one -> Subalgebra.eq_bot_of_rank_le_one is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (LE.le.{succ u2} Cardinal.{u2} Cardinal.hasLe.{u2} (Module.rank.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S))))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (OfNat.mk.{succ u2} Cardinal.{u2} 1 (One.one.{succ u2} Cardinal.{u2} Cardinal.hasOne.{u2})))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
+but is expected to have type
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (LE.le.{succ u1} Cardinal.{u1} Cardinal.instLECardinal.{u1} (Module.rank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (Ring.toNonAssocRing.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (EuclideanDomain.toCommRing.{u2} F (Field.toEuclideanDomain.{u2} F _inst_1)) _inst_2 _inst_3) S))))) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{succ u1} Cardinal.{u1} 1 (One.toOfNat1.{succ u1} Cardinal.{u1} Cardinal.instOneCardinal.{u1}))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align subalgebra.eq_bot_of_rank_le_one Subalgebra.eq_bot_of_rank_le_oneₓ'. -/
theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) : S = ⊥ :=
by
nontriviality E
@@ -1431,6 +1931,12 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
exact h.trans_eq subalgebra.rank_bot.symm
#align subalgebra.eq_bot_of_rank_le_one Subalgebra.eq_bot_of_rank_le_one
+/- warning: subalgebra.eq_bot_of_finrank_one -> Subalgebra.eq_bot_of_finrank_one is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] {S : Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) E (Subalgebra.setLike.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) S) (Subalgebra.toRing.{u1, u2} F E (EuclideanDomain.toCommRing.{u1} F (Field.toEuclideanDomain.{u1} F _inst_1)) _inst_2 _inst_3 S)))) (Subalgebra.module.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) S (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
+but is expected to have type
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)] {S : Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3}, (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} (Subtype.{succ u1} E (fun (x : E) => Membership.mem.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) E (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) x S)) (SubringClass.toRing.{u1, u1} E (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) _inst_2 (Subalgebra.instSetLikeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u2, u1} F E (Field.toCommRing.{u2} F _inst_1) _inst_2 _inst_3) S)) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3 S)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) S (Bot.bot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.toBot.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_oneₓ'. -/
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
Subalgebra.eq_bot_of_rank_le_one <|
by
@@ -1438,37 +1944,71 @@ theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S =
rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
+#print Subalgebra.rank_eq_one_iff /-
@[simp]
theorem Subalgebra.rank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
Module.rank F S = 1 ↔ S = ⊥ :=
⟨fun h => Subalgebra.eq_bot_of_rank_le_one h.le, fun h => h.symm ▸ Subalgebra.rank_bot⟩
#align subalgebra.rank_eq_one_iff Subalgebra.rank_eq_one_iff
+-/
+#print Subalgebra.finrank_eq_one_iff /-
@[simp]
theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
finrank F S = 1 ↔ S = ⊥ :=
⟨Subalgebra.eq_bot_of_finrank_one, fun h => h.symm ▸ Subalgebra.finrank_bot⟩
#align subalgebra.finrank_eq_one_iff Subalgebra.finrank_eq_one_iff
+-/
+/- warning: subalgebra.bot_eq_top_iff_rank_eq_one -> Subalgebra.bot_eq_top_iff_rank_eq_one is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (OfNat.mk.{succ u2} Cardinal.{u2} 1 (One.one.{succ u2} Cardinal.{u2} Cardinal.hasOne.{u2}))))
+but is expected to have type
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (One.toOfNat1.{succ u2} Cardinal.{u2} Cardinal.instOneCardinal.{u2})))
+Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_oneₓ'. -/
theorem Subalgebra.bot_eq_top_iff_rank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 := by
rw [← rank_top, ← subalgebra_top_rank_eq_submodule_top_rank, Subalgebra.rank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_one
+/- warning: subalgebra.bot_eq_top_iff_finrank_eq_one -> Subalgebra.bot_eq_top_iff_finrank_eq_one is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))
+but is expected to have type
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], Iff (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))) (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (Ring.toAddCommGroup.{u2} E _inst_2) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))
+Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_oneₓ'. -/
theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ finrank F E = 1 := by
rw [← finrank_top, ← subalgebra_top_finrank_eq_submodule_top_finrank,
Subalgebra.finrank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_one
+/- warning: subalgebra.bot_eq_top_of_rank_eq_one -> Subalgebra.bot_eq_top_of_rank_eq_one is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (OfNat.mk.{succ u2} Cardinal.{u2} 1 (One.one.{succ u2} Cardinal.{u2} Cardinal.hasOne.{u2})))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
+but is expected to have type
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{succ (succ u2)} Cardinal.{u2} (Module.rank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} E (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2)))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{succ u2} Cardinal.{u2} 1 (One.toOfNat1.{succ u2} Cardinal.{u2} Cardinal.instOneCardinal.{u2}))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_oneₓ'. -/
alias Subalgebra.bot_eq_top_iff_rank_eq_one ↔ _ Subalgebra.bot_eq_top_of_rank_eq_one
#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
+/- warning: subalgebra.bot_eq_top_of_finrank_eq_one -> Subalgebra.bot_eq_top_of_finrank_eq_one is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toHasTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
+but is expected to have type
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)] [_inst_4 : Nontrivial.{u2} E], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (DivisionSemiring.toSemiring.{u1} F (Semifield.toDivisionSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1))) (Ring.toAddCommGroup.{u2} E _inst_2) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) -> (Eq.{succ u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Bot.bot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toBot.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))) (Top.top.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toTop.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_oneₓ'. -/
alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_finrank_eq_one
#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_one
attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
+/- warning: subalgebra.is_simple_order_of_finrank -> Subalgebra.isSimpleOrder_of_finrank is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {E : Type.{u2}} [_inst_1 : Field.{u1} F] [_inst_2 : Ring.{u2} E] [_inst_3 : Algebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} F E (Ring.toSemiring.{u1} F (DivisionRing.toRing.{u1} F (Field.toDivisionRing.{u1} F _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} E (NonAssocRing.toNonUnitalNonAssocRing.{u2} E (Ring.toNonAssocRing.{u2} E _inst_2))) (Algebra.toModule.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) -> (IsSimpleOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Preorder.toLE.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u2} (Subalgebra.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3) (Algebra.Subalgebra.completeLattice.{u1, u2} F E (Semifield.toCommSemiring.{u1} F (Field.toSemifield.{u1} F _inst_1)) (Ring.toSemiring.{u2} E _inst_2) _inst_3)))
+but is expected to have type
+ forall {F : Type.{u2}} {E : Type.{u1}} [_inst_1 : Field.{u2} F] [_inst_2 : Ring.{u1} E] [_inst_3 : Algebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} F E (DivisionSemiring.toSemiring.{u2} F (Semifield.toDivisionSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1))) (Ring.toAddCommGroup.{u1} E _inst_2) (Algebra.toModule.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) -> (IsSimpleOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3))))) (CompleteLattice.toBoundedOrder.{u1} (Subalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} F E (Semifield.toCommSemiring.{u2} F (Field.toSemifield.{u2} F _inst_1)) (Ring.toSemiring.{u1} E _inst_2) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrankₓ'. -/
theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
IsSimpleOrder (Subalgebra F E) :=
let i := nontrivial_of_finrank_pos (zero_lt_two.trans_eq hr.symm)
@@ -1497,6 +2037,12 @@ namespace End
variable [DivisionRing K] [AddCommGroup V] [Module K V]
+/- warning: module.End.exists_ker_pow_eq_ker_pow_succ -> Module.End.exists_ker_pow_eq_ker_pow_succ is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), Exists.{1} Nat (fun (k : Nat) => And (LE.le.{0} Nat Nat.hasLe k (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)) (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3), Exists.{1} Nat (fun (k : Nat) => And (LE.le.{0} Nat instLENat k (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)) (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))))
+Case conversion may be inaccurate. Consider using '#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succₓ'. -/
theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
∃ k : ℕ, k ≤ finrank K V ∧ (f ^ k).ker = (f ^ k.succ).ker := by
classical
@@ -1527,6 +2073,12 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
exact Nat.not_succ_le_self _ (h_any_n_lt (finrank K V).succ (finrank K V).succ.le_refl)
#align module.End.exists_ker_pow_eq_ker_pow_succ Module.End.exists_ker_pow_eq_ker_pow_succ
+/- warning: module.End.ker_pow_constant -> Module.End.ker_pow_constant is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {k : Nat}, (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))) -> (forall (m : Nat), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) k m))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {k : Nat}, (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (Nat.succ k)))) -> (forall (m : Nat), Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f k)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) k m))))
+Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_constant Module.End.ker_pow_constantₓ'. -/
theorem ker_pow_constant {f : End K V} {k : ℕ} (h : (f ^ k).ker = (f ^ k.succ).ker) :
∀ m, (f ^ k).ker = (f ^ (k + m)).ker
| 0 => by simp
@@ -1540,6 +2092,12 @@ theorem ker_pow_constant {f : End K V} {k : ℕ} (h : (f ^ k).ker = (f ^ k.succ)
exact le_rfl
#align module.End.ker_pow_constant Module.End.ker_pow_constant
+/- warning: module.End.ker_pow_eq_ker_pow_finrank_of_le -> Module.End.ker_pow_eq_ker_pow_finrank_of_le is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {m : Nat}, (LE.le.{0} Nat Nat.hasLe (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3) m) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3))))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] {f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3} {m : Nat}, (LE.le.{0} Nat instLENat (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3) m) -> (Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3))))
+Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_leₓ'. -/
theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {m : ℕ}
(hm : finrank K V ≤ m) : (f ^ m).ker = (f ^ finrank K V).ker :=
by
@@ -1554,6 +2112,12 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
+/- warning: module.End.ker_pow_le_ker_pow_finrank -> Module.End.ker_pow_le_ker_pow_finrank is a dubious translation:
+lean 3 declaration is
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} K K V V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) _inst_2 _inst_3)))
+but is expected to have type
+ forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : FiniteDimensional.{u1, u2} K V _inst_1 _inst_2 _inst_3] (f : Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (m : Nat), LE.le.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f m)) (LinearMap.ker.{u1, u1, u2, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} K K V V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (HPow.hPow.{u2, 0, u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (instHPow.{u2, 0} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Nat (Monoid.Pow.{u2} (Module.End.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Module.End.monoid.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))) f (FiniteDimensional.finrank.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align module.End.ker_pow_le_ker_pow_finrank Module.End.ker_pow_le_ker_pow_finrankₓ'. -/
theorem ker_pow_le_ker_pow_finrank [FiniteDimensional K V] (f : End K V) (m : ℕ) :
(f ^ m).ker ≤ (f ^ finrank K V).ker :=
by
@@ -1574,6 +2138,7 @@ open Module
open Cardinal
+#print cardinal_mk_eq_cardinal_mk_field_pow_rank /-
theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [FiniteDimensional K V] : (#V) = (#K) ^ Module.rank K V :=
by
@@ -1585,7 +2150,9 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K
_ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_rank, Cardinal.power_def]
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
+-/
+#print cardinal_lt_aleph0_of_finiteDimensional /-
theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [Finite K] [FiniteDimensional K V] : (#V) < ℵ₀ :=
by
@@ -1593,6 +2160,7 @@ theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K]
rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensional
+-/
end Module
mathlib commit https://github.com/leanprover-community/mathlib/commit/4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit 039ef89bef6e58b32b62898dd48e9d1a4312bb65
+! leanprover-community/mathlib commit e95e4f92c8f8da3c7f693c3ec948bcf9b6683f51
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -408,18 +408,7 @@ instance span_finset (s : Finset V) : FiniteDimensional K (span K (s : Set V)) :
/-- Pushforwards of finite-dimensional submodules are finite-dimensional. -/
instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p] :
FiniteDimensional K (p.map f) :=
- by
- rw [FiniteDimensional, ← iff_fg, IsNoetherian.iff_rank_lt_aleph0] at h⊢
- rw [← Cardinal.lift_lt.{v', v}]
- rw [← Cardinal.lift_lt.{v, v'}] at h
- rw [Cardinal.lift_aleph0] at h⊢
- exact (lift_rank_map_le f p).trans_lt h
-
-/-- Pushforwards of finite-dimensional submodules have a smaller finrank. -/
-theorem finrank_map_le (f : V →ₗ[K] V₂) (p : Submodule K V) [FiniteDimensional K p] :
- finrank K (p.map f) ≤ finrank K p := by
- simpa [← finrank_eq_rank', -finrank_eq_rank] using lift_rank_map_le f p
-#align finite_dimensional.finrank_map_le FiniteDimensional.finrank_map_le
+ Module.Finite.map _ _
variable {K}
@@ -880,32 +869,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-/-- Two finite-dimensional vector spaces are isomorphic if they have the same (finite) dimension.
--/
-theorem nonempty_linearEquiv_of_finrank_eq [FiniteDimensional K V] [FiniteDimensional K V₂]
- (cond : finrank K V = finrank K V₂) : Nonempty (V ≃ₗ[K] V₂) :=
- nonempty_linearEquiv_of_lift_rank_eq <| by simp only [← finrank_eq_rank, cond, lift_nat_cast]
-#align finite_dimensional.nonempty_linear_equiv_of_finrank_eq FiniteDimensional.nonempty_linearEquiv_of_finrank_eq
-
-/-- Two finite-dimensional vector spaces are isomorphic if and only if they have the same (finite)
-dimension.
--/
-theorem nonempty_linearEquiv_iff_finrank_eq [FiniteDimensional K V] [FiniteDimensional K V₂] :
- Nonempty (V ≃ₗ[K] V₂) ↔ finrank K V = finrank K V₂ :=
- ⟨fun ⟨h⟩ => h.finrank_eq, fun h => nonempty_linearEquiv_of_finrank_eq h⟩
-#align finite_dimensional.nonempty_linear_equiv_iff_finrank_eq FiniteDimensional.nonempty_linearEquiv_iff_finrank_eq
-
-variable (V V₂)
-
-/-- Two finite-dimensional vector spaces are isomorphic if they have the same (finite) dimension.
--/
-noncomputable def LinearEquiv.ofFinrankEq [FiniteDimensional K V] [FiniteDimensional K V₂]
- (cond : finrank K V = finrank K V₂) : V ≃ₗ[K] V₂ :=
- Classical.choice <| nonempty_linearEquiv_of_finrank_eq cond
-#align finite_dimensional.linear_equiv.of_finrank_eq FiniteDimensional.LinearEquiv.ofFinrankEq
-
-variable {V}
-
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ :=
by
@@ -923,13 +886,7 @@ theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K
eq_of_le_of_finrank_le hle hd.ge
#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eq
-@[simp]
-theorem finrank_map_subtype_eq (p : Submodule K V) (q : Submodule K p) :
- FiniteDimensional.finrank K (q.map p.Subtype) = FiniteDimensional.finrank K q :=
- (Submodule.equivSubtypeMap p q).symm.finrank_eq
-#align finite_dimensional.finrank_map_subtype_eq FiniteDimensional.finrank_map_subtype_eq
-
-variable {V₂} [FiniteDimensional K V] [FiniteDimensional K V₂]
+variable [FiniteDimensional K V] [FiniteDimensional K V₂]
/-- Given isomorphic subspaces `p q` of vector spaces `V` and `V₁` respectively,
`p.quotient` is isomorphic to `q.quotient`. -/
@@ -1200,14 +1157,6 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
FiniteDimensional.eq_of_le_of_finrank_eq le_top (by simp [h, finrank_top])
#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
-theorem finrank_le_finrank_of_le {s t : Submodule K V} [FiniteDimensional K t] (hst : s ≤ t) :
- finrank K s ≤ finrank K t :=
- calc
- finrank K s = finrank K (comap t.Subtype s) := (comapSubtypeEquivOfLe hst).finrank_eq.symm
- _ ≤ finrank K t := finrank_le _
-
-#align submodule.finrank_le_finrank_of_le Submodule.finrank_le_finrank_of_le
-
theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V => finrank K s :=
fun s t => finrank_le_finrank_of_le
#align submodule.finrank_mono Submodule.finrank_mono
mathlib commit https://github.com/leanprover-community/mathlib/commit/039ef89bef6e58b32b62898dd48e9d1a4312bb65
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit 8535b76e601f11868af3e612fbecb730998a5631
+! leanprover-community/mathlib commit 039ef89bef6e58b32b62898dd48e9d1a4312bb65
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -982,7 +982,7 @@ theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K]
/-- The range of a linear map defined on a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
FiniteDimensional K f.range :=
- f.quotKerEquivRange.FiniteDimensional
+ Module.Finite.range f
#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_range
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/284fdd2962e67d2932fa3a79ce19fcf92d38e228
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit 5ec62c8106221a3f9160e4e4fcc3eed79fe213e9
+! leanprover-community/mathlib commit 8535b76e601f11868af3e612fbecb730998a5631
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -787,19 +787,6 @@ instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodul
exact Submodule.finiteDimensional_finset_sup _ _
#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢ
-/-- The dimension of a submodule is bounded by the dimension of the ambient space. -/
-theorem finrank_le [FiniteDimensional K V] (s : Submodule K V) : finrank K s ≤ finrank K V := by
- simpa only [Cardinal.natCast_le, ← finrank_eq_rank] using
- s.subtype.rank_le_of_injective (injective_subtype s)
-#align submodule.finrank_le Submodule.finrank_le
-
-/-- The dimension of a quotient is bounded by the dimension of the ambient space. -/
-theorem finrank_quotient_le [FiniteDimensional K V] (s : Submodule K V) :
- finrank K (V ⧸ s) ≤ finrank K V := by
- simpa only [Cardinal.natCast_le, ← finrank_eq_rank] using
- (mkq s).rank_le_of_surjective (surjective_quot_mk _)
-#align submodule.finrank_quotient_le Submodule.finrank_quotient_le
-
/-- In a finite-dimensional vector space, the dimensions of a submodule and of the corresponding
quotient add up to the dimension of the space. -/
theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V) :
@@ -1149,15 +1136,6 @@ theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V
rw [range_eq_top, ker_eq_bot, injective_iff_surjective_of_finrank_eq_finrank H]
#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank
-theorem finrank_le_finrank_of_injective [FiniteDimensional K V] [FiniteDimensional K V₂]
- {f : V →ₗ[K] V₂} (hf : Function.Injective f) : finrank K V ≤ finrank K V₂ :=
- calc
- finrank K V = finrank K f.range + finrank K f.ker := (finrank_range_add_finrank_ker f).symm
- _ = finrank K f.range := by rw [ker_eq_bot.2 hf, finrank_bot, add_zero]
- _ ≤ finrank K V₂ := Submodule.finrank_le _
-
-#align linear_map.finrank_le_finrank_of_injective LinearMap.finrank_le_finrank_of_injective
-
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linear_equiv_of_injective` is the induced isomorphism
between the two vector spaces. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/5ec62c8106221a3f9160e4e4fcc3eed79fe213e9
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit 039a089d2a4b93c761b234f3e5f5aeb752bac60f
+! leanprover-community/mathlib commit 5ec62c8106221a3f9160e4e4fcc3eed79fe213e9
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -820,7 +820,7 @@ theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
#align submodule.finrank_lt Submodule.finrank_lt
/-- The sum of the dimensions of s + t and s ∩ t is the sum of the dimensions of s and t -/
-theorem rank_sup_add_rank_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
+theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] :
finrank K ↥(s ⊔ t) + finrank K ↥(s ⊓ t) = finrank K ↥s + finrank K ↥t :=
by
@@ -829,14 +829,14 @@ theorem rank_sup_add_rank_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
repeat' rw [← finrank_eq_rank] at key
norm_cast at key
exact key
-#align submodule.rank_sup_add_rank_inf_eq Submodule.rank_sup_add_rank_inf_eq
+#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
-theorem rank_add_le_rank_add_rank (s t : Submodule K V) [FiniteDimensional K s]
+theorem finrank_add_le_finrank_add_finrank (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t :=
by
- rw [← rank_sup_add_rank_inf_eq]
+ rw [← finrank_sup_add_finrank_inf_eq]
exact self_le_add_right _ _
-#align submodule.rank_add_le_rank_add_rank Submodule.rank_add_le_rank_add_rank
+#align submodule.finrank_add_le_finrank_add_finrank Submodule.finrank_add_le_finrank_add_finrank
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
(hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ :=
@@ -847,7 +847,7 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
rw [hdisjoint, finrank_bot]
apply eq_top_of_finrank_eq
rw [← hdim]
- convert s.rank_sup_add_rank_inf_eq t
+ convert s.finrank_sup_add_finrank_inf_eq t
rw [h_finrank_inf]
rfl
#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjoint
@@ -1247,8 +1247,9 @@ theorem finrank_strictMono [FiniteDimensional K V] :
theorem finrank_add_eq_of_isCompl [FiniteDimensional K V] {U W : Submodule K V} (h : IsCompl U W) :
finrank K U + finrank K W = finrank K V :=
by
- rw [← rank_sup_add_rank_inf_eq, h.codisjoint.eq_top, h.disjoint.eq_bot, finrank_bot, add_zero]
- exact finrank_top
+ rw [← finrank_sup_add_finrank_inf_eq, h.codisjoint.eq_top, h.disjoint.eq_bot, finrank_bot,
+ add_zero]
+ exact finrank_top _ _
#align submodule.finrank_add_eq_of_is_compl Submodule.finrank_add_eq_of_isCompl
end DivisionRing
mathlib commit https://github.com/leanprover-community/mathlib/commit/06a655b5fcfbda03502f9158bbf6c0f1400886f9
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit 4cf7ca0e69e048b006674cf4499e5c7d296a89e0
+! leanprover-community/mathlib commit 039a089d2a4b93c761b234f3e5f5aeb752bac60f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -179,7 +179,8 @@ instance finiteDimensional_submodule [FiniteDimensional K V] (S : Submodule K V)
letI : IsNoetherian K V := iff_fg.2 _
exact
iff_fg.1
- (IsNoetherian.iff_dim_lt_aleph0.2 (lt_of_le_of_lt (dim_submodule_le _) (dim_lt_aleph_0 K V)))
+ (IsNoetherian.iff_rank_lt_aleph0.2
+ (lt_of_le_of_lt (rank_submodule_le _) (rank_lt_aleph_0 K V)))
infer_instance
#align finite_dimensional.finite_dimensional_submodule FiniteDimensional.finiteDimensional_submodule
@@ -193,14 +194,14 @@ variable (K V)
/-- In a finite-dimensional space, its dimension (seen as a cardinal) coincides with its
`finrank`. This is a copy of `finrank_eq_rank _ _` which creates easier typeclass searches. -/
-theorem finrank_eq_dim [FiniteDimensional K V] : (finrank K V : Cardinal.{v}) = Module.rank K V :=
+theorem finrank_eq_rank' [FiniteDimensional K V] : (finrank K V : Cardinal.{v}) = Module.rank K V :=
finrank_eq_rank _ _
-#align finite_dimensional.finrank_eq_dim FiniteDimensional.finrank_eq_dim
+#align finite_dimensional.finrank_eq_rank' FiniteDimensional.finrank_eq_rank'
variable {K V}
theorem finrank_of_infinite_dimensional (h : ¬FiniteDimensional K V) : finrank K V = 0 :=
- dif_neg <| mt IsNoetherian.iff_dim_lt_aleph0.2 <| (not_iff_not.2 iff_fg).2 h
+ dif_neg <| mt IsNoetherian.iff_rank_lt_aleph0.2 <| (not_iff_not.2 iff_fg).2 h
#align finite_dimensional.finrank_of_infinite_dimensional FiniteDimensional.finrank_of_infinite_dimensional
theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V :=
@@ -224,7 +225,7 @@ theorem fact_finiteDimensional_of_finrank_eq_succ (n : ℕ) [Fact (finrank K V =
theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W] {n : ℕ}
(hn : n ≠ 0) (hVW : Module.rank K V = n • Module.rank K W) :
FiniteDimensional K V ↔ FiniteDimensional K W := by
- simp only [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_dim_lt_aleph0, hVW,
+ simp only [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, hVW,
Cardinal.nsmul_lt_aleph0_iff_of_ne_zero hn]
#align finite_dimensional.finite_dimensional_iff_of_rank_eq_nsmul FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul
@@ -282,8 +283,8 @@ theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι
(h : LinearIndependent K b) : (#ι) ≤ finrank K V :=
by
rw [← lift_le.{_, max v w}]
- simpa [← finrank_eq_dim, -finrank_eq_rank] using
- cardinal_lift_le_dim_of_linearIndependent.{_, _, _, max v w} h
+ simpa [← finrank_eq_rank', -finrank_eq_rank] using
+ cardinal_lift_le_rank_of_linearIndependent.{_, _, _, max v w} h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type _}
@@ -303,8 +304,8 @@ theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v
by
apply Cardinal.lift_lt.1
apply lt_of_le_of_lt
- apply cardinal_lift_le_dim_of_linearIndependent h
- rw [← finrank_eq_dim, Cardinal.lift_aleph0, Cardinal.lift_natCast]
+ apply cardinal_lift_le_rank_of_linearIndependent h
+ rw [← finrank_eq_rank, Cardinal.lift_aleph0, Cardinal.lift_natCast]
apply Cardinal.nat_lt_aleph0
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
@@ -326,18 +327,18 @@ theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [Fin
theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
Iff.trans
(by
- rw [← finrank_eq_dim]
+ rw [← finrank_eq_rank]
norm_cast)
- (@dim_pos_iff_exists_ne_zero K V _ _ _ _ _)
+ (@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zero
/-- A finite dimensional space has positive `finrank` iff it is nontrivial. -/
theorem finrank_pos_iff [FiniteDimensional K V] : 0 < finrank K V ↔ Nontrivial V :=
Iff.trans
(by
- rw [← finrank_eq_dim]
+ rw [← finrank_eq_rank]
norm_cast)
- (@dim_pos_iff_nontrivial K V _ _ _ _ _)
+ (@rank_pos_iff_nontrivial K V _ _ _ _ _)
#align finite_dimensional.finrank_pos_iff FiniteDimensional.finrank_pos_iff
/-- A nontrivial finite dimensional space has positive `finrank`. -/
@@ -346,13 +347,13 @@ theorem finrank_pos [FiniteDimensional K V] [h : Nontrivial V] : 0 < finrank K V
#align finite_dimensional.finrank_pos FiniteDimensional.finrank_pos
/-- A finite dimensional space has zero `finrank` iff it is a subsingleton.
-This is the `finrank` version of `dim_zero_iff`. -/
+This is the `finrank` version of `rank_zero_iff`. -/
theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingleton V :=
Iff.trans
(by
- rw [← finrank_eq_dim]
+ rw [← finrank_eq_rank]
norm_cast)
- (@dim_zero_iff K V _ _ _ _ _)
+ (@rank_zero_iff K V _ _ _ _ _)
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
@@ -408,16 +409,16 @@ instance span_finset (s : Finset V) : FiniteDimensional K (span K (s : Set V)) :
instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p] :
FiniteDimensional K (p.map f) :=
by
- rw [FiniteDimensional, ← iff_fg, IsNoetherian.iff_dim_lt_aleph0] at h⊢
+ rw [FiniteDimensional, ← iff_fg, IsNoetherian.iff_rank_lt_aleph0] at h⊢
rw [← Cardinal.lift_lt.{v', v}]
rw [← Cardinal.lift_lt.{v, v'}] at h
rw [Cardinal.lift_aleph0] at h⊢
- exact (lift_dim_map_le f p).trans_lt h
+ exact (lift_rank_map_le f p).trans_lt h
/-- Pushforwards of finite-dimensional submodules have a smaller finrank. -/
theorem finrank_map_le (f : V →ₗ[K] V₂) (p : Submodule K V) [FiniteDimensional K p] :
finrank K (p.map f) ≤ finrank K p := by
- simpa [← finrank_eq_dim, -finrank_eq_rank] using lift_dim_map_le f p
+ simpa [← finrank_eq_rank', -finrank_eq_rank] using lift_rank_map_le f p
#align finite_dimensional.finrank_map_le FiniteDimensional.finrank_map_le
variable {K}
@@ -431,7 +432,7 @@ theorem CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensi
calc
Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{w} (Module.rank K V) :=
hp.subtype_ne_bot_le_rank
- _ = Cardinal.lift.{w} (finrank K V : Cardinal.{v}) := by rw [finrank_eq_dim]
+ _ = Cardinal.lift.{w} (finrank K V : Cardinal.{v}) := by rw [finrank_eq_rank]
_ = Cardinal.lift.{v} (finrank K V : Cardinal.{w}) := by simp
#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
@@ -469,7 +470,7 @@ open Finset
/-- If a finset has cardinality larger than the dimension of the space,
then there is a nontrivial linear relation amongst its elements.
-/
-theorem exists_nontrivial_relation_of_dim_lt_card [FiniteDimensional K V] {t : Finset V}
+theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t : Finset V}
(h : finrank K V < t.card) : ∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
have := mt finset_card_le_finrank_of_linear_independent (by simpa using h)
@@ -503,13 +504,13 @@ theorem exists_nontrivial_relation_of_dim_lt_card [FiniteDimensional K V] {t : F
· refine' ⟨z, z.2, _⟩
dsimp only [f]
erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
-#align finite_dimensional.exists_nontrivial_relation_of_dim_lt_card FiniteDimensional.exists_nontrivial_relation_of_dim_lt_card
+#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
/-- If a finset has cardinality larger than `finrank + 1`,
then there is a nontrivial linear relation amongst its elements,
such that the coefficients of the relation sum to zero.
-/
-theorem exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card [FiniteDimensional K V]
+theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensional K V]
{t : Finset V} (h : finrank K V + 1 < t.card) :
∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ (∑ e in t, f e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 :=
by
@@ -524,7 +525,7 @@ theorem exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card [FiniteDimension
simp only [t', card_map, Finset.card_erase_of_mem m]
exact nat.lt_pred_iff.mpr h
-- to obtain a function `g`.
- obtain ⟨g, gsum, x₁, x₁_mem, nz⟩ := exists_nontrivial_relation_of_dim_lt_card h'
+ obtain ⟨g, gsum, x₁, x₁_mem, nz⟩ := exists_nontrivial_relation_of_rank_lt_card h'
-- Then obtain `f` by translating back by `x₀`,
-- and setting the value of `f` at `x₀` to ensure `∑ e in t, f e = 0`.
let f : V → K := fun z => if z = x₀ then -∑ z in t.erase x₀, g (z - x₀) else g (z - x₀)
@@ -587,7 +588,7 @@ theorem exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card [FiniteDimension
rintro rfl
simpa only [sub_eq_zero, exists_prop, Finset.mem_map, embedding.coe_fn_mk, eq_self_iff_true,
mem_erase, not_true, exists_eq_right, Ne.def, false_and_iff] using x₁_mem
-#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card
+#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card
section
@@ -595,17 +596,17 @@ variable {L : Type _} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
-/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card`
+/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
available when working over an ordered field:
we can ensure a positive coefficient, not just a nonzero coefficient.
-/
-theorem exists_relation_sum_zero_pos_coefficient_of_dim_succ_lt_card [FiniteDimensional L W]
+theorem exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card [FiniteDimensional L W]
{t : Finset W} (h : finrank L W + 1 < t.card) :
∃ f : W → L, (∑ e in t, f e • e) = 0 ∧ (∑ e in t, f e) = 0 ∧ ∃ x ∈ t, 0 < f x :=
by
- obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_dim_succ_lt_card h
+ obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card h
exact ⟨f, Sum, Total, exists_pos_of_sum_zero_of_exists_nonzero f Total nonzero⟩
-#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_dim_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_dim_succ_lt_card
+#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card
end
@@ -654,64 +655,65 @@ end FiniteDimensional
variable {K V}
-section ZeroDim
+section ZeroRank
variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
-theorem finiteDimensional_of_dim_eq_nat {n : ℕ} (h : Module.rank K V = n) : FiniteDimensional K V :=
+theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
+ FiniteDimensional K V :=
by
- rw [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_dim_lt_aleph0, h]
+ rw [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, h]
exact nat_lt_aleph_0 n
-#align finite_dimensional_of_dim_eq_nat finiteDimensional_of_dim_eq_nat
+#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_nat
-- TODO: generalize to free modules over general rings.
-theorem finiteDimensional_of_dim_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
- finiteDimensional_of_dim_eq_nat <| h.trans Nat.cast_zero.symm
-#align finite_dimensional_of_dim_eq_zero finiteDimensional_of_dim_eq_zero
+theorem finiteDimensional_of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
+ finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_zero.symm
+#align finite_dimensional_of_rank_eq_zero finiteDimensional_of_rank_eq_zero
-theorem finiteDimensional_of_dim_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
- finiteDimensional_of_dim_eq_nat <| h.trans Nat.cast_one.symm
-#align finite_dimensional_of_dim_eq_one finiteDimensional_of_dim_eq_one
+theorem finiteDimensional_of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
+ finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_one.symm
+#align finite_dimensional_of_rank_eq_one finiteDimensional_of_rank_eq_one
-theorem finrank_eq_zero_of_dim_eq_zero [FiniteDimensional K V] (h : Module.rank K V = 0) :
+theorem finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V] (h : Module.rank K V = 0) :
finrank K V = 0 := by
- convert finrank_eq_dim K V
+ convert finrank_eq_rank K V
rw [h]; norm_cast
-#align finrank_eq_zero_of_dim_eq_zero finrank_eq_zero_of_dim_eq_zero
+#align finrank_eq_zero_of_rank_eq_zero finrank_eq_zero_of_rank_eq_zero
variable (K V)
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
- finiteDimensional_of_dim_eq_zero <| by simp
+ finiteDimensional_of_rank_eq_zero <| by simp
#align finite_dimensional_bot finiteDimensional_bot
variable {K V}
-theorem bot_eq_top_of_dim_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
+theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ :=
by
- haveI := finiteDimensional_of_dim_eq_zero h
+ haveI := finiteDimensional_of_rank_eq_zero h
apply eq_top_of_finrank_eq
- rw [finrank_bot, finrank_eq_zero_of_dim_eq_zero h]
-#align bot_eq_top_of_dim_eq_zero bot_eq_top_of_dim_eq_zero
+ rw [finrank_bot, finrank_eq_zero_of_rank_eq_zero h]
+#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zero
@[simp]
-theorem dim_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
+theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
⟨fun h =>
(Submodule.eq_bot_iff _).2 fun x hx =>
congr_arg Subtype.val <|
- ((Submodule.eq_bot_iff _).1 <| Eq.symm <| bot_eq_top_of_dim_eq_zero h) ⟨x, hx⟩
+ ((Submodule.eq_bot_iff _).1 <| Eq.symm <| bot_eq_top_of_rank_eq_zero h) ⟨x, hx⟩
Submodule.mem_top,
- fun h => by rw [h, dim_bot]⟩
-#align dim_eq_zero dim_eq_zero
+ fun h => by rw [h, rank_bot]⟩
+#align rank_eq_zero rank_eq_zero
@[simp]
theorem finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] : finrank K S = 0 ↔ S = ⊥ := by
- rw [← dim_eq_zero, ← finrank_eq_dim, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
+ rw [← rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
#align finrank_eq_zero finrank_eq_zero
-end ZeroDim
+end ZeroRank
namespace Submodule
@@ -732,8 +734,8 @@ theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
FiniteDimensional K S₁ :=
haveI : IsNoetherian K S₂ := iff_fg.2 inferInstance
iff_fg.1
- (IsNoetherian.iff_dim_lt_aleph0.2
- (lt_of_le_of_lt (dim_le_of_submodule _ _ h) (dim_lt_aleph_0 K S₂)))
+ (IsNoetherian.iff_rank_lt_aleph0.2
+ (lt_of_le_of_lt (rank_le_of_submodule _ _ h) (FiniteDimensional.rank_lt_aleph0 K S₂)))
#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_le
/-- The inf of two submodules, the first finite-dimensional, is
@@ -787,15 +789,15 @@ instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodul
/-- The dimension of a submodule is bounded by the dimension of the ambient space. -/
theorem finrank_le [FiniteDimensional K V] (s : Submodule K V) : finrank K s ≤ finrank K V := by
- simpa only [Cardinal.natCast_le, ← finrank_eq_dim] using
- s.subtype.dim_le_of_injective (injective_subtype s)
+ simpa only [Cardinal.natCast_le, ← finrank_eq_rank] using
+ s.subtype.rank_le_of_injective (injective_subtype s)
#align submodule.finrank_le Submodule.finrank_le
/-- The dimension of a quotient is bounded by the dimension of the ambient space. -/
theorem finrank_quotient_le [FiniteDimensional K V] (s : Submodule K V) :
finrank K (V ⧸ s) ≤ finrank K V := by
- simpa only [Cardinal.natCast_le, ← finrank_eq_dim] using
- (mkq s).dim_le_of_surjective (surjective_quot_mk _)
+ simpa only [Cardinal.natCast_le, ← finrank_eq_rank] using
+ (mkq s).rank_le_of_surjective (surjective_quot_mk _)
#align submodule.finrank_quotient_le Submodule.finrank_quotient_le
/-- In a finite-dimensional vector space, the dimensions of a submodule and of the corresponding
@@ -803,8 +805,8 @@ quotient add up to the dimension of the space. -/
theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V) :
finrank K (V ⧸ s) + finrank K s = finrank K V :=
by
- have := dim_quotient_add_dim s
- rw [← finrank_eq_dim, ← finrank_eq_dim, ← finrank_eq_dim] at this
+ have := rank_quotient_add_rank s
+ rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
exact_mod_cast this
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
@@ -818,23 +820,23 @@ theorem finrank_lt [FiniteDimensional K V] {s : Submodule K V} (h : s < ⊤) :
#align submodule.finrank_lt Submodule.finrank_lt
/-- The sum of the dimensions of s + t and s ∩ t is the sum of the dimensions of s and t -/
-theorem dim_sup_add_dim_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
+theorem rank_sup_add_rank_inf_eq (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] :
finrank K ↥(s ⊔ t) + finrank K ↥(s ⊓ t) = finrank K ↥s + finrank K ↥t :=
by
have key : Module.rank K ↥(s ⊔ t) + Module.rank K ↥(s ⊓ t) = Module.rank K s + Module.rank K t :=
- dim_sup_add_dim_inf_eq s t
- repeat' rw [← finrank_eq_dim] at key
+ rank_sup_add_rank_inf_eq s t
+ repeat' rw [← finrank_eq_rank] at key
norm_cast at key
exact key
-#align submodule.dim_sup_add_dim_inf_eq Submodule.dim_sup_add_dim_inf_eq
+#align submodule.rank_sup_add_rank_inf_eq Submodule.rank_sup_add_rank_inf_eq
-theorem dim_add_le_dim_add_dim (s t : Submodule K V) [FiniteDimensional K s]
+theorem rank_add_le_rank_add_rank (s t : Submodule K V) [FiniteDimensional K s]
[FiniteDimensional K t] : finrank K (s ⊔ t : Submodule K V) ≤ finrank K s + finrank K t :=
by
- rw [← dim_sup_add_dim_inf_eq]
+ rw [← rank_sup_add_rank_inf_eq]
exact self_le_add_right _ _
-#align submodule.dim_add_le_dim_add_dim Submodule.dim_add_le_dim_add_dim
+#align submodule.rank_add_le_rank_add_rank Submodule.rank_add_le_rank_add_rank
theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
(hdim : finrank K s + finrank K t = finrank K V) (hdisjoint : Disjoint s t) : s ⊔ t = ⊤ :=
@@ -845,7 +847,7 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
rw [hdisjoint, finrank_bot]
apply eq_top_of_finrank_eq
rw [← hdim]
- convert s.dim_sup_add_dim_inf_eq t
+ convert s.rank_sup_add_rank_inf_eq t
rw [h_finrank_inf]
rfl
#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjoint
@@ -895,7 +897,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
-/
theorem nonempty_linearEquiv_of_finrank_eq [FiniteDimensional K V] [FiniteDimensional K V₂]
(cond : finrank K V = finrank K V₂) : Nonempty (V ≃ₗ[K] V₂) :=
- nonempty_linearEquiv_of_lift_dim_eq <| by simp only [← finrank_eq_dim, cond, lift_nat_cast]
+ nonempty_linearEquiv_of_lift_rank_eq <| by simp only [← finrank_eq_rank, cond, lift_nat_cast]
#align finite_dimensional.nonempty_linear_equiv_of_finrank_eq FiniteDimensional.nonempty_linearEquiv_of_finrank_eq
/-- Two finite-dimensional vector spaces are isomorphic if and only if they have the same (finite)
@@ -979,8 +981,8 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
- have h := dim_eq_of_injective _ hinj
- rw [← finrank_eq_dim, ← finrank_eq_dim, nat_cast_inj] at h
+ have h := rank_eq_of_injective _ hinj
+ rw [← finrank_eq_rank, ← finrank_eq_rank, nat_cast_inj] at h
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
@@ -1245,7 +1247,7 @@ theorem finrank_strictMono [FiniteDimensional K V] :
theorem finrank_add_eq_of_isCompl [FiniteDimensional K V] {U W : Submodule K V} (h : IsCompl U W) :
finrank K U + finrank K W = finrank K V :=
by
- rw [← dim_sup_add_dim_inf_eq, h.codisjoint.eq_top, h.disjoint.eq_bot, finrank_bot, add_zero]
+ rw [← rank_sup_add_rank_inf_eq, h.codisjoint.eq_top, h.disjoint.eq_bot, finrank_bot, add_zero]
exact finrank_top
#align submodule.finrank_add_eq_of_is_compl Submodule.finrank_add_eq_of_isCompl
@@ -1294,7 +1296,7 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
replace fin := (not_iff_not.2 IsNoetherian.iff_fg).2 Fin
calc
Fintype.card ι = finrank K V := card_eq
- _ = 0 := dif_neg (mt is_noetherian.iff_dim_lt_aleph_0.mpr Fin)
+ _ = 0 := dif_neg (mt is_noetherian.iff_rank_lt_aleph_0.mpr Fin)
#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
@@ -1422,12 +1424,12 @@ theorem finrank_le_one_iff [FiniteDimensional K V] :
theorem Submodule.finrank_le_one_iff_isPrincipal (W : Submodule K V) [FiniteDimensional K W] :
finrank K W ≤ 1 ↔ W.IsPrincipal := by
- rw [← W.rank_le_one_iff_is_principal, ← finrank_eq_dim, ← Cardinal.natCast_le, Nat.cast_one]
+ rw [← W.rank_le_one_iff_is_principal, ← finrank_eq_rank, ← Cardinal.natCast_le, Nat.cast_one]
#align submodule.finrank_le_one_iff_is_principal Submodule.finrank_le_one_iff_isPrincipal
theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
finrank K V ≤ 1 ↔ (⊤ : Submodule K V).IsPrincipal := by
- rw [← Module.rank_le_one_iff_top_isPrincipal, ← finrank_eq_dim, ← Cardinal.natCast_le,
+ rw [← Module.rank_le_one_iff_top_isPrincipal, ← finrank_eq_rank, ← Cardinal.natCast_le,
Nat.cast_one]
#align module.finrank_le_one_iff_top_is_principal Module.finrank_le_one_iff_top_isPrincipal
@@ -1461,7 +1463,7 @@ end finrank_eq_one
end DivisionRing
-section SubalgebraDim
+section SubalgebraRank
open Module
@@ -1486,33 +1488,33 @@ instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) :=
by
nontriviality E
- exact finiteDimensional_of_dim_eq_one Subalgebra.dim_bot
+ exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
-theorem Subalgebra.eq_bot_of_dim_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) : S = ⊥ :=
+theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) : S = ⊥ :=
by
nontriviality E
obtain ⟨m, hm, he⟩ := Cardinal.exists_nat_eq_of_le_nat (h.trans_eq nat.cast_one.symm)
- haveI := finiteDimensional_of_dim_eq_nat he
+ haveI := finiteDimensional_of_rank_eq_nat he
rw [← not_bot_lt_iff, ← subalgebra.to_submodule.lt_iff_lt]
haveI := S.to_submodule_equiv.symm.FiniteDimensional
refine' fun hl => (Submodule.finrank_lt_finrank_of_lt hl).not_le (nat_cast_le.1 _)
- iterate 2 rw [Subalgebra.finrank_toSubmodule, finrank_eq_dim]
- exact h.trans_eq subalgebra.dim_bot.symm
-#align subalgebra.eq_bot_of_dim_le_one Subalgebra.eq_bot_of_dim_le_one
+ iterate 2 rw [Subalgebra.finrank_toSubmodule, finrank_eq_rank]
+ exact h.trans_eq subalgebra.rank_bot.symm
+#align subalgebra.eq_bot_of_rank_le_one Subalgebra.eq_bot_of_rank_le_one
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
- Subalgebra.eq_bot_of_dim_le_one <|
+ Subalgebra.eq_bot_of_rank_le_one <|
by
haveI := finite_dimensional_of_finrank_eq_succ h
- rw [← finrank_eq_dim, h, Nat.cast_one]
+ rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
@[simp]
-theorem Subalgebra.dim_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
+theorem Subalgebra.rank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
Module.rank F S = 1 ↔ S = ⊥ :=
- ⟨fun h => Subalgebra.eq_bot_of_dim_le_one h.le, fun h => h.symm ▸ Subalgebra.dim_bot⟩
-#align subalgebra.dim_eq_one_iff Subalgebra.dim_eq_one_iff
+ ⟨fun h => Subalgebra.eq_bot_of_rank_le_one h.le, fun h => h.symm ▸ Subalgebra.rank_bot⟩
+#align subalgebra.rank_eq_one_iff Subalgebra.rank_eq_one_iff
@[simp]
theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
@@ -1520,10 +1522,10 @@ theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
⟨Subalgebra.eq_bot_of_finrank_one, fun h => h.symm ▸ Subalgebra.finrank_bot⟩
#align subalgebra.finrank_eq_one_iff Subalgebra.finrank_eq_one_iff
-theorem Subalgebra.bot_eq_top_iff_dim_eq_one [Nontrivial E] :
+theorem Subalgebra.bot_eq_top_iff_rank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 := by
- rw [← dim_top, ← subalgebra_top_dim_eq_submodule_top_dim, Subalgebra.dim_eq_one_iff, eq_comm]
-#align subalgebra.bot_eq_top_iff_dim_eq_one Subalgebra.bot_eq_top_iff_dim_eq_one
+ rw [← rank_top, ← subalgebra_top_rank_eq_submodule_top_rank, Subalgebra.rank_eq_one_iff, eq_comm]
+#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_one
theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ finrank F E = 1 := by
@@ -1531,13 +1533,13 @@ theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
Subalgebra.finrank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_one
-alias Subalgebra.bot_eq_top_iff_dim_eq_one ↔ _ Subalgebra.bot_eq_top_of_dim_eq_one
-#align subalgebra.bot_eq_top_of_dim_eq_one Subalgebra.bot_eq_top_of_dim_eq_one
+alias Subalgebra.bot_eq_top_iff_rank_eq_one ↔ _ Subalgebra.bot_eq_top_of_rank_eq_one
+#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_finrank_eq_one
#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_one
-attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_dim_eq_one
+attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
IsSimpleOrder (Subalgebra F E) :=
@@ -1559,7 +1561,7 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
exact Submodule.eq_top_of_finrank_eq h }
#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrank
-end SubalgebraDim
+end SubalgebraRank
namespace Module
@@ -1644,7 +1646,7 @@ open Module
open Cardinal
-theorem cardinal_mk_eq_cardinal_mk_field_pow_dim (K V : Type u) [DivisionRing K] [AddCommGroup V]
+theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [FiniteDimensional K V] : (#V) = (#K) ^ Module.rank K V :=
by
let s := Basis.ofVectorSpaceIndex K V
@@ -1652,16 +1654,16 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_dim (K V : Type u) [DivisionRing K]
calc
(#V) = (#s →₀ K) := Quotient.sound ⟨hs.repr.to_equiv⟩
_ = (#s → K) := (Quotient.sound ⟨Finsupp.equivFunOnFinite⟩)
- _ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_dim, Cardinal.power_def]
+ _ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_rank, Cardinal.power_def]
-#align cardinal_mk_eq_cardinal_mk_field_pow_dim cardinal_mk_eq_cardinal_mk_field_pow_dim
+#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [Finite K] [FiniteDimensional K V] : (#V) < ℵ₀ :=
by
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
- rw [cardinal_mk_eq_cardinal_mk_field_pow_dim K V]
- exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.dim_lt_aleph0 K V)
+ rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
+ exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensional
end Module
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a4df69ca1a9a0e5e26bfe12e2b92814216016d0
@@ -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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit dc17b6ac53b111affde68d96e5e7a0726816e2cf
+! leanprover-community/mathlib commit 4cf7ca0e69e048b006674cf4499e5c7d296a89e0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -192,11 +192,9 @@ instance finiteDimensional_quotient [FiniteDimensional K V] (S : Submodule K V)
variable (K V)
/-- In a finite-dimensional space, its dimension (seen as a cardinal) coincides with its
-`finrank`. -/
+`finrank`. This is a copy of `finrank_eq_rank _ _` which creates easier typeclass searches. -/
theorem finrank_eq_dim [FiniteDimensional K V] : (finrank K V : Cardinal.{v}) = Module.rank K V :=
- by
- letI : IsNoetherian K V := iff_fg.2 inferInstance
- rw [finrank, cast_to_nat_of_lt_aleph_0 (dim_lt_aleph_0 K V)]
+ finrank_eq_rank _ _
#align finite_dimensional.finrank_eq_dim FiniteDimensional.finrank_eq_dim
variable {K V}
@@ -284,7 +282,7 @@ theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι
(h : LinearIndependent K b) : (#ι) ≤ finrank K V :=
by
rw [← lift_le.{_, max v w}]
- simpa [← finrank_eq_dim, -Module.Free.finrank_eq_rank] using
+ simpa [← finrank_eq_dim, -finrank_eq_rank] using
cardinal_lift_le_dim_of_linearIndependent.{_, _, _, max v w} h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
@@ -419,7 +417,7 @@ instance (f : V →ₗ[K] V₂) (p : Submodule K V) [h : FiniteDimensional K p]
/-- Pushforwards of finite-dimensional submodules have a smaller finrank. -/
theorem finrank_map_le (f : V →ₗ[K] V₂) (p : Submodule K V) [FiniteDimensional K p] :
finrank K (p.map f) ≤ finrank K p := by
- simpa [← finrank_eq_dim, -Module.Free.finrank_eq_rank] using lift_dim_map_le f p
+ simpa [← finrank_eq_dim, -finrank_eq_rank] using lift_dim_map_le f p
#align finite_dimensional.finrank_map_le FiniteDimensional.finrank_map_le
variable {K}
@@ -778,27 +776,15 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
#align submodule.finite_dimensional_finset_sup Submodule.finiteDimensional_finset_sup
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
-type is finite-dimensional. -/
-instance finiteDimensional_supᵢ {ι : Type _} [Finite ι] (S : ι → Submodule K V)
+sort is finite-dimensional. -/
+instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
[∀ i, FiniteDimensional K (S i)] : FiniteDimensional K ↥(⨆ i, S i) :=
by
- cases nonempty_fintype ι
- rw [← Finset.sup_univ_eq_supᵢ]
+ cases nonempty_fintype (PLift ι)
+ rw [← supᵢ_plift_down, ← Finset.sup_univ_eq_supᵢ]
exact Submodule.finiteDimensional_finset_sup _ _
#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢ
-/-- The submodule generated by a supremum indexed by a proposition is finite-dimensional if
-the submodule is. -/
-instance finiteDimensional_supᵢ_prop {P : Prop} (S : P → Submodule K V)
- [∀ h, FiniteDimensional K (S h)] : FiniteDimensional K ↥(⨆ h, S h) :=
- by
- by_cases hp : P
- · rw [supᵢ_pos hp]
- infer_instance
- · rw [supᵢ_neg hp]
- infer_instance
-#align submodule.finite_dimensional_supr_prop Submodule.finiteDimensional_supᵢ_prop
-
/-- The dimension of a submodule is bounded by the dimension of the ambient space. -/
theorem finrank_le [FiniteDimensional K V] (s : Submodule K V) : finrank K s ≤ finrank K V := by
simpa only [Cardinal.natCast_le, ← finrank_eq_dim] using
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -619,7 +619,7 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
(hv : v ≠ 0) : Basis ι K V :=
let b := basisUnique ι h
let h : b.repr v default ≠ 0 := mt basisUnique.repr_eq_zero_iff.mp hv
- Basis.of_repr
+ Basis.ofRepr
{ toFun := fun w => Finsupp.single default (b.repr w default / b.repr v default)
invFun := fun f => f default • v
map_add' := by simp [add_div]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -1405,7 +1405,7 @@ theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ (v : V)(n : v ≠ 0), ∀
by
convert finrank_eq_one_iff PUnit
simp only [exists_prop, eq_iff_iff, Ne.def]
- convert (Basis.basis_singleton_iff PUnit).symm
+ convert(Basis.basis_singleton_iff PUnit).symm
funext v
simp
infer_instance; infer_instance
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -1633,7 +1633,7 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
calc
(f ^ m).ker = (f ^ (k + (m - k))).ker := by rw [add_tsub_cancel_of_le (h_k_le.trans hm)]
_ = (f ^ k).ker := by rw [ker_pow_constant hk _]
- _ = (f ^ (k + (finrank K V - k))).ker := ker_pow_constant hk (finrank K V - k)
+ _ = (f ^ (k + (finrank K V - k))).ker := (ker_pow_constant hk (finrank K V - k))
_ = (f ^ finrank K V).ker := by rw [add_tsub_cancel_of_le h_k_le]
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
@@ -1665,7 +1665,7 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_dim (K V : Type u) [DivisionRing K]
let hs := Basis.ofVectorSpace K V
calc
(#V) = (#s →₀ K) := Quotient.sound ⟨hs.repr.to_equiv⟩
- _ = (#s → K) := Quotient.sound ⟨Finsupp.equivFunOnFinite⟩
+ _ = (#s → K) := (Quotient.sound ⟨Finsupp.equivFunOnFinite⟩)
_ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_dim, Cardinal.power_def]
#align cardinal_mk_eq_cardinal_mk_field_pow_dim cardinal_mk_eq_cardinal_mk_field_pow_dim
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -1014,7 +1014,7 @@ instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂)
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
Injective f ↔ Surjective f :=
⟨surjective_of_injective, fun hsurj =>
- let ⟨g, hg⟩ := f.exists_right_inverse_of_surjective (range_eq_top.2 hsurj)
+ let ⟨g, hg⟩ := f.exists_rightInverse_of_surjective (range_eq_top.2 hsurj)
have : Function.RightInverse g f := LinearMap.ext_iff.1 hg
(leftInverse_of_surjective_of_rightInverse (surjective_of_injective this.Injective)
this).Injective⟩
@@ -1032,7 +1032,7 @@ theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (
have ginj : Injective g :=
HasLeftInverse.injective ⟨f, fun x => show (f * g) x = (1 : V →ₗ[K] V) x by rw [hfg] <;> rfl⟩
let ⟨i, hi⟩ :=
- g.exists_right_inverse_of_surjective (range_eq_top.2 (injective_iff_surjective.1 ginj))
+ g.exists_rightInverse_of_surjective (range_eq_top.2 (injective_iff_surjective.1 ginj))
have : f * (g * i) = f * 1 := congr_arg _ hi
rw [← mul_assoc, hfg, one_mul, mul_one] at this <;> rwa [← this]
#align linear_map.mul_eq_one_of_mul_eq_one LinearMap.mul_eq_one_of_mul_eq_one
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -157,11 +157,11 @@ theorem of_finite_basis {ι : Type w} {s : Set ι} (h : Basis s K V) (hs : Set.F
instance finiteDimensional_submodule [FiniteDimensional K V] (S : Submodule K V) :
FiniteDimensional K S := by
letI : IsNoetherian K V := iff_fg.2 ?_
- exact
- iff_fg.1
- (IsNoetherian.iff_rank_lt_aleph0.2
- (lt_of_le_of_lt (rank_submodule_le _) (_root_.rank_lt_aleph0 K V)))
- infer_instance
+ · exact
+ iff_fg.1
+ (IsNoetherian.iff_rank_lt_aleph0.2
+ (lt_of_le_of_lt (rank_submodule_le _) (_root_.rank_lt_aleph0 K V)))
+ · infer_instance
#align finite_dimensional.finite_dimensional_submodule FiniteDimensional.finiteDimensional_submodule
/-- A quotient of a finite-dimensional space is also finite-dimensional. -/
@@ -487,7 +487,7 @@ theorem finrank_sup_add_finrank_inf_eq (s t : Submodule K V) [FiniteDimensional
finrank K ↑(s ⊔ t) + finrank K ↑(s ⊓ t) = finrank K ↑s + finrank K ↑t := by
have key : Module.rank K ↑(s ⊔ t) + Module.rank K ↑(s ⊓ t) = Module.rank K s + Module.rank K t :=
rank_sup_add_rank_inf_eq s t
- repeat' rw [← finrank_eq_rank] at key
+ repeat rw [← finrank_eq_rank] at key
norm_cast at key
#align submodule.finrank_sup_add_finrank_inf_eq Submodule.finrank_sup_add_finrank_inf_eq
deprecated
attributeWhy these changes?
@@ -368,21 +368,21 @@ theorem FiniteDimensional.of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
Module.finite_of_rank_eq_nat h
#align finite_dimensional_of_rank_eq_nat FiniteDimensional.of_rank_eq_nat
-@[deprecated] -- Since 2024/02/02
+@[deprecated] -- Since 2024-02-02
alias finiteDimensional_of_rank_eq_nat := FiniteDimensional.of_rank_eq_nat
theorem FiniteDimensional.of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
Module.finite_of_rank_eq_zero h
#align finite_dimensional_of_rank_eq_zero FiniteDimensional.of_rank_eq_zero
-@[deprecated] -- Since 2024/02/02
+@[deprecated] -- Since 2024-02-02
alias finiteDimensional_of_rank_eq_zero := FiniteDimensional.of_rank_eq_zero
theorem FiniteDimensional.of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
Module.finite_of_rank_eq_one h
#align finite_dimensional_of_rank_eq_one FiniteDimensional.of_rank_eq_one
-@[deprecated] -- Since 2024/02/02
+@[deprecated] -- Since 2024-02-02
alias finiteDimensional_of_rank_eq_one := FiniteDimensional.of_rank_eq_one
variable (K V)
NNRat.cast
(#11203)
Define the canonical coercion from the nonnegative rationals to any division semiring.
From LeanAPAP
@@ -869,6 +869,7 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type*) [Field F] [Ring
rw [dif_neg hx]
exact (Classical.choose_spec (FiniteDimensional.exists_mul_eq_one F hx) :)
inv_zero := dif_pos rfl
+ nnqsmul := _
qsmul := _
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
NNRat.cast
(#12360)
This is the parts of the diff of #11203 which don't mention NNRat.cast
.
where
notation.qsmul := _
instead of qsmul := qsmulRec _
to make the instances more robust to definition changes.qsmulRec
.qsmul
before ratCast_def
in instance declarations.rat_smul
to qsmul
.@@ -859,19 +859,17 @@ lemma FiniteDimensional.exists_mul_eq_one (F : Type*) {K : Type*} [Field F] [Rin
exact this 1
/-- A domain that is module-finite as an algebra over a field is a division ring. -/
-noncomputable def divisionRingOfFiniteDimensional (F K : Type*) [Field F] [h : Ring K] [IsDomain K]
- [Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
- { ‹IsDomain K› with
- toRing := h
- inv := fun x =>
- letI := Classical.decEq K
- if H : x = 0 then 0 else Classical.choose <| FiniteDimensional.exists_mul_eq_one F H
- mul_inv_cancel := fun x hx =>
- show x * dite _ (h := _) _ = _ by
- rw [dif_neg hx]
- exact (Classical.choose_spec (FiniteDimensional.exists_mul_eq_one F hx) :)
- inv_zero := dif_pos rfl
- qsmul := qsmulRec _ }
+noncomputable def divisionRingOfFiniteDimensional (F K : Type*) [Field F] [Ring K] [IsDomain K]
+ [Algebra F K] [FiniteDimensional F K] : DivisionRing K where
+ __ := ‹IsDomain K›
+ inv x :=
+ letI := Classical.decEq K
+ if H : x = 0 then 0 else Classical.choose <| FiniteDimensional.exists_mul_eq_one F H
+ mul_inv_cancel x hx := show x * dite _ (h := _) _ = _ by
+ rw [dif_neg hx]
+ exact (Classical.choose_spec (FiniteDimensional.exists_mul_eq_one F hx) :)
+ inv_zero := dif_pos rfl
+ qsmul := _
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
We define the coroots of a finite-dimensional semisimple Lie algebra with coefficients in a field characteristic zero and establish the key property that a coroot is complementary to the kernel of the root.
In addition we carry out some related, light refactoring. The most important points are:
LieModule.weight
from a subtype to a structure LieModule.Weight
+ expand its API (we need this expanded API for the headline results).LieAlgebra.rootSpaceProductNegSelf
with its range which we call LieAlgebra.corootSpace
(in all places where we used this definition, it was the range that we actually used).LieAlgebra.IsRoot
and LieModule.IsWeight
.@@ -509,6 +509,12 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V)
rfl
#align submodule.eq_top_of_disjoint Submodule.eq_top_of_disjoint
+theorem finrank_add_finrank_le_of_disjoint [FiniteDimensional K V]
+ {s t : Submodule K V} (hdisjoint : Disjoint s t) :
+ finrank K s + finrank K t ≤ finrank K V := by
+ rw [← Submodule.finrank_sup_add_finrank_inf_eq s t, hdisjoint.eq_bot, finrank_bot, add_zero]
+ exact Submodule.finrank_le _
+
end DivisionRing
end Submodule
@@ -1291,7 +1291,7 @@ theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {
LinearMap.ker (f ^ m) = LinearMap.ker (f ^ (k + (m - k))) := by
rw [add_tsub_cancel_of_le (h_k_le.trans hm)]
_ = LinearMap.ker (f ^ k) := by rw [ker_pow_constant hk _]
- _ = LinearMap.ker (f ^ (k + (finrank K V - k))) := (ker_pow_constant hk (finrank K V - k))
+ _ = LinearMap.ker (f ^ (k + (finrank K V - k))) := ker_pow_constant hk (finrank K V - k)
_ = LinearMap.ker (f ^ finrank K V) := by rw [add_tsub_cancel_of_le h_k_le]
#align module.End.ker_pow_eq_ker_pow_finrank_of_le Module.End.ker_pow_eq_ker_pow_finrank_of_le
@@ -1319,7 +1319,7 @@ theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K
let hs := Basis.ofVectorSpace K V
calc
#V = #(s →₀ K) := Quotient.sound ⟨hs.repr.toEquiv⟩
- _ = #(s → K) := (Quotient.sound ⟨Finsupp.equivFunOnFinite⟩)
+ _ = #(s → K) := Quotient.sound ⟨Finsupp.equivFunOnFinite⟩
_ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_rank, Cardinal.power_def]
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
FiniteDimensional.trans
higher up the import hierarchy (#12079)
@YaelDillies pointed out that the import Data.Complex.Module → FieldTheory.Tower
brings with it too many things. The only declaration from FieldTheory.Tower
needed for Data.Complex.Module
is FiniteDimensional.trans
, which we can easily move up the import hierarchy (14 imports higher, in fact). So this means we can cut the long pole of Mathlib by up to 13 files.
Specific Zulip discussion starts here: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20long.20pole.20in.20mathlib/near/432796670
@@ -344,6 +344,17 @@ theorem range_basisSingleton (ι : Type*) [Unique ι] (h : finrank K V = 1) (v :
end DivisionRing
+section Tower
+
+variable (F K A : Type*) [DivisionRing F] [DivisionRing K] [AddCommGroup A]
+variable [Module F K] [Module K A] [Module F A] [IsScalarTower F K A]
+
+theorem trans [FiniteDimensional F K] [FiniteDimensional K A] : FiniteDimensional F A :=
+ Module.Finite.trans K A
+#align finite_dimensional.trans FiniteDimensional.trans
+
+end Tower
+
end FiniteDimensional
section ZeroRank
Subalgebra.finite_(bot|sup)
(#12025)
... and deprecated Subalgebra.finiteDimensional_(bot|sup)
@@ -1143,9 +1143,9 @@ instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
FiniteDimensional.of_subalgebra_toSubmodule inferInstance
#align finite_dimensional.finite_dimensional_subalgebra FiniteDimensional.finiteDimensional_subalgebra
-instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) := by
- nontriviality E
- exact .of_rank_eq_one Subalgebra.rank_bot
+@[deprecated Subalgebra.finite_bot] -- 2024-04-11
+theorem Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) :=
+ Subalgebra.finite_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) :
Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.
@@ -140,7 +140,7 @@ noncomputable def fintypeBasisIndex {ι : Type*} [FiniteDimensional K V] (b : Ba
#align finite_dimensional.fintype_basis_index FiniteDimensional.fintypeBasisIndex
/-- If a vector space is `FiniteDimensional`, `Basis.ofVectorSpace` is indexed by
- a finite type.-/
+ a finite type. -/
noncomputable instance [FiniteDimensional K V] : Fintype (Basis.ofVectorSpaceIndex K V) := by
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
infer_instance
We change the following field in the definition of an additive commutative monoid:
nsmul_succ : ∀ (n : ℕ) (x : G),
- AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+ AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
where the latter is more natural
We adjust the definitions of ^
in monoids, groups, etc.
Originally there was a warning comment about why this natural order was preferred
use
x * npowRec n x
and notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
is blocked, to avoid deep recursion issues.
but it seems to no longer apply.
Remarks on the PR :
pow_succ
and pow_succ'
have switched their meanings.Ideal.IsPrime.mul_mem_pow
which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul
.@@ -1243,7 +1243,7 @@ theorem exists_ker_pow_eq_ker_pow_succ [FiniteDimensional K V] (f : End K V) :
· exact zero_le (finrank _ _)
· have h_ker_lt_ker : LinearMap.ker (f ^ n) < LinearMap.ker (f ^ n.succ) := by
refine' lt_of_le_of_ne _ (h_contra n (Nat.le_of_succ_le_succ hn))
- rw [pow_succ]
+ rw [pow_succ']
apply LinearMap.ker_le_ker_comp
have h_finrank_lt_finrank :
finrank K (LinearMap.ker (f ^ n)) < finrank K (LinearMap.ker (f ^ n.succ)) := by
mul
-div
cancellation lemmas (#11530)
Lemma names around cancellation of multiplication and division are a mess.
This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero
lemma name, the Group
lemma, the AddGroup
lemma name).
| Statement | New name | Old name | |
@@ -322,12 +322,12 @@ noncomputable def basisSingleton (ι : Type*) [Unique ι] (h : finrank K V = 1)
apply_fun Equiv.finsuppUnique
simp only [LinearEquiv.map_smulₛₗ, Finsupp.coe_smul, Finsupp.single_eq_same,
smul_eq_mul, Pi.smul_apply, Equiv.finsuppUnique_apply]
- exact div_mul_cancel _ h
+ exact div_mul_cancel₀ _ h
right_inv := fun f => by
ext
simp only [LinearEquiv.map_smulₛₗ, Finsupp.coe_smul, Finsupp.single_eq_same,
RingHom.id_apply, smul_eq_mul, Pi.smul_apply]
- exact mul_div_cancel _ h }
+ exact mul_div_cancel_right₀ _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
@[simp]
@@ -689,7 +689,7 @@ theorem comap_eq_sup_ker_of_disjoint {p : Submodule K V} [FiniteDimensional K p]
obtain ⟨⟨y, hy⟩, hxy⟩ :=
surjective_of_injective ((injective_restrict_iff_disjoint h).mpr h') ⟨f x, hx⟩
replace hxy : f y = f x := by simpa [Subtype.ext_iff] using hxy
- exact Submodule.mem_sup.mpr ⟨y, hy, x - y, by simp [hxy], add_sub_cancel'_right y x⟩
+ exact Submodule.mem_sup.mpr ⟨y, hy, x - y, by simp [hxy], add_sub_cancel y x⟩
theorem ker_comp_eq_of_commute_of_disjoint_ker [FiniteDimensional K V] {f g : V →ₗ[K] V}
(h : Commute f g) (h' : Disjoint (ker f) (ker g)) :
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -287,7 +287,6 @@ open Finset
section
variable {L : Type*} [LinearOrderedField L]
-
variable {W : Type v} [AddCommGroup W] [Module L W]
/-- A slight strengthening of `exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card`
@@ -517,7 +516,6 @@ protected theorem finiteDimensional (f : V ≃ₗ[K] V₂) [FiniteDimensional K
#align linear_equiv.finite_dimensional LinearEquiv.finiteDimensional
variable {R M M₂ : Type*} [Ring R] [AddCommGroup M] [AddCommGroup M₂]
-
variable [Module R M] [Module R M₂]
end LinearEquiv
@@ -726,7 +724,6 @@ namespace LinearEquiv
open FiniteDimensional
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-
variable [FiniteDimensional K V]
/-- The linear equivalence corresponding to an injective endomorphism. -/
@@ -856,7 +856,8 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type*) [Field F] [h : R
show x * dite _ (h := _) _ = _ by
rw [dif_neg hx]
exact (Classical.choose_spec (FiniteDimensional.exists_mul_eq_one F hx) :)
- inv_zero := dif_pos rfl }
+ inv_zero := dif_pos rfl
+ qsmul := qsmulRec _ }
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0
branch as we update to intermediate nightlies.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>
@@ -704,7 +704,9 @@ theorem ker_noncommProd_eq_of_supIndep_ker [FiniteDimensional K V] {ι : Type*}
(s : Finset ι) (comm) (h : s.SupIndep fun i ↦ ker (f i)) :
ker (s.noncommProd f comm) = ⨆ i ∈ s, ker (f i) := by
classical
- induction' s using Finset.induction_on with i s hi ih; simpa using LinearMap.ker_id
+ induction' s using Finset.induction_on with i s hi ih
+ · set_option tactic.skipAssignedInstances false in
+ simpa using LinearMap.ker_id
replace ih : ker (Finset.noncommProd s f <| Set.Pairwise.mono (s.subset_insert i) comm) =
⨆ x ∈ s, ker (f x) := ih _ (h.subset (s.subset_insert i))
rw [Finset.noncommProd_insert_of_not_mem _ _ _ _ hi, mul_eq_comp,
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -230,7 +230,7 @@ theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submo
LinearIndependent.image_subtype (f := Submodule.subtype S)
(by simpa [bS] using bS.linearIndependent) (by simp)
set b := Basis.extend this with b_eq
- -- porting note: `letI` now uses `this` so we need to give different names
+ -- Porting note: `letI` now uses `this` so we need to give different names
letI i1 : Fintype (this.extend _) :=
(LinearIndependent.set_finite_of_isNoetherian (by simpa [b] using b.linearIndependent)).fintype
letI i2 : Fintype (((↑) : S → V) '' Basis.ofVectorSpaceIndex K S) :=
@@ -979,7 +979,7 @@ noncomputable def finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (
theorem coe_finsetBasisOfLinearIndependentOfCardEqFinrank {s : Finset V} (hs : s.Nonempty)
(lin_ind : LinearIndependent K ((↑) : s → V)) (card_eq : s.card = finrank K V) :
⇑(finsetBasisOfLinearIndependentOfCardEqFinrank hs lin_ind card_eq) = ((↑) : s → V) := by
- -- porting note: added to make the next line unify the `_`s
+ -- Porting note: added to make the next line unify the `_`s
rw [finsetBasisOfLinearIndependentOfCardEqFinrank]
exact Basis.coe_mk _ _
#align coe_finset_basis_of_linear_independent_of_card_eq_finrank coe_finsetBasisOfLinearIndependentOfCardEqFinrank
@@ -996,7 +996,7 @@ noncomputable def setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonemp
theorem coe_setBasisOfLinearIndependentOfCardEqFinrank {s : Set V} [Nonempty s] [Fintype s]
(lin_ind : LinearIndependent K ((↑) : s → V)) (card_eq : s.toFinset.card = finrank K V) :
⇑(setBasisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = ((↑) : s → V) := by
- -- porting note: added to make the next line unify the `_`s
+ -- Porting note: added to make the next line unify the `_`s
rw [setBasisOfLinearIndependentOfCardEqFinrank]
exact Basis.coe_mk _ _
#align coe_set_basis_of_linear_independent_of_card_eq_finrank coe_setBasisOfLinearIndependentOfCardEqFinrank
@@ -1014,12 +1014,12 @@ section finrank_eq_one
-/
theorem finrank_eq_one_iff_of_nonzero (v : V) (nz : v ≠ 0) :
finrank K V = 1 ↔ span K ({v} : Set V) = ⊤ :=
- -- porting note: need explicit universe on PUnit
+ -- Porting note: need explicit universe on PUnit
⟨fun h => by simpa using (basisSingleton PUnit.{u+1} h v nz).span_eq, fun s =>
finrank_eq_card_basis
(Basis.mk (linearIndependent_singleton nz)
(by
- convert s.ge -- porting note: added `.ge` to make things easier for `convert`
+ convert s.ge -- Porting note: added `.ge` to make things easier for `convert`
simp))⟩
#align finrank_eq_one_iff_of_nonzero finrank_eq_one_iff_of_nonzero
@@ -1045,7 +1045,7 @@ theorem finrank_eq_one_iff (ι : Type*) [Unique ι] : finrank K V = 1 ↔ Nonemp
/-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ v ≠ 0, ∀ w : V, ∃ c : K, c • v = w := by
- -- porting note: was a messy `convert` proof
+ -- Porting note: was a messy `convert` proof
rw [finrank_eq_one_iff PUnit.{u+1}, Basis.basis_singleton_iff PUnit]
#align finrank_eq_one_iff' finrank_eq_one_iff'
@@ -1152,10 +1152,10 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
S = ⊥ := by
nontriviality E
obtain ⟨m, _, he⟩ := Cardinal.exists_nat_eq_of_le_nat (h.trans_eq Nat.cast_one.symm)
- -- porting note: fails without explicit type
+ -- Porting note: fails without explicit type
haveI : FiniteDimensional F S := .of_rank_eq_nat he
rw [← not_bot_lt_iff, ← Subalgebra.toSubmodule.lt_iff_lt]
- -- porting note: fails without explicit type
+ -- Porting note: fails without explicit type
haveI : FiniteDimensional F (Subalgebra.toSubmodule S) :=
S.toSubmoduleEquiv.symm.finiteDimensional
refine fun hl => (Submodule.finrank_lt_finrank_of_lt hl).not_le (natCast_le.1 ?_)
@@ -1165,7 +1165,7 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
Subalgebra.eq_bot_of_rank_le_one <| by
- -- porting note: fails without explicit type
+ -- Porting note: fails without explicit type
haveI : FiniteDimensional F S := .of_finrank_eq_succ h
rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
@@ -1184,7 +1184,7 @@ theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
theorem Subalgebra.bot_eq_top_iff_rank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 := by
- -- porting note: removed `subalgebra_top_rank_eq_submodule_top_rank`
+ -- Porting note: removed `subalgebra_top_rank_eq_submodule_top_rank`
rw [← rank_top, Subalgebra.rank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_one
I ran tryAtEachStep on all files under Mathlib
to find all locations where omega
succeeds. For each that was a linarith
without an only
, I tried replacing it with omega
, and I verified that elaboration time got smaller. (In almost all cases, there was a noticeable speedup.) I also replaced some slow aesop
s along the way.
@@ -1064,7 +1064,7 @@ theorem finrank_le_one_iff [FiniteDimensional K V] :
haveI := finrank_zero_iff.mp h'
apply Subsingleton.elim
· replace h' := zero_lt_iff.mpr h'
- have : finrank K V = 1 := by linarith
+ have : finrank K V = 1 := by omega
obtain ⟨v, -, p⟩ := finrank_eq_one_iff'.mp this
use v, p
· rintro ⟨v, p⟩
@@ -228,15 +228,16 @@ theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submo
set bS := Basis.ofVectorSpace K S with bS_eq
have : LinearIndependent K ((↑) : ((↑) '' Basis.ofVectorSpaceIndex K S : Set V) → V) :=
LinearIndependent.image_subtype (f := Submodule.subtype S)
- (by simpa using bS.linearIndependent) (by simp)
+ (by simpa [bS] using bS.linearIndependent) (by simp)
set b := Basis.extend this with b_eq
-- porting note: `letI` now uses `this` so we need to give different names
letI i1 : Fintype (this.extend _) :=
- (LinearIndependent.set_finite_of_isNoetherian (by simpa using b.linearIndependent)).fintype
+ (LinearIndependent.set_finite_of_isNoetherian (by simpa [b] using b.linearIndependent)).fintype
letI i2 : Fintype (((↑) : S → V) '' Basis.ofVectorSpaceIndex K S) :=
(LinearIndependent.set_finite_of_isNoetherian this).fintype
letI i3 : Fintype (Basis.ofVectorSpaceIndex K S) :=
- (LinearIndependent.set_finite_of_isNoetherian (by simpa using bS.linearIndependent)).fintype
+ (LinearIndependent.set_finite_of_isNoetherian
+ (by simpa [bS] using bS.linearIndependent)).fintype
have : (↑) '' Basis.ofVectorSpaceIndex K S = this.extend (Set.subset_univ _) :=
Set.eq_of_subset_of_card_le (this.subset_extend _)
(by
span_eq_top_of_linearIndependent_of_card_eq_finrank
to LinearIndependent.span_eq_top_of_card_eq_finrank
;LinearIndependent.span_eq_top_of_card_eq_finrank'
with different typeclass assumptions;rfl
to prove Algebra.discr_def
;Algebra.discr_not_zero_of_basis
.@@ -933,29 +933,30 @@ end Span
section Basis
-theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type*} [hι : Nonempty ι]
- [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
+theorem LinearIndependent.span_eq_top_of_card_eq_finrank' {ι : Type*}
+ [Fintype ι] [FiniteDimensional K V] {b : ι → V} (lin_ind : LinearIndependent K b)
(card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ := by
- by_cases fin : FiniteDimensional K V
- · by_contra ne_top
- have lt_top : span K (Set.range b) < ⊤ := lt_of_le_of_ne le_top ne_top
- exact ne_of_lt (Submodule.finrank_lt lt_top)
- (_root_.trans (finrank_span_eq_card lin_ind) card_eq)
- · exfalso
- apply ne_of_lt (Fintype.card_pos_iff.mpr hι)
- symm
- replace fin := (not_iff_not.2 IsNoetherian.iff_fg).2 fin
- calc
- Fintype.card ι = finrank K V := card_eq
- _ = 0 := dif_neg (mt IsNoetherian.iff_rank_lt_aleph0.mpr fin)
-#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
+ by_contra ne_top
+ rw [← finrank_span_eq_card lin_ind] at card_eq
+ exact ne_of_lt (Submodule.finrank_lt <| lt_top_iff_ne_top.2 ne_top) card_eq
+
+theorem LinearIndependent.span_eq_top_of_card_eq_finrank {ι : Type*} [Nonempty ι]
+ [Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
+ (card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ :=
+ have : FiniteDimensional K V := .of_finrank_pos <| card_eq ▸ Fintype.card_pos
+ lin_ind.span_eq_top_of_card_eq_finrank' card_eq
+#align span_eq_top_of_linear_independent_of_card_eq_finrank LinearIndependent.span_eq_top_of_card_eq_finrank
+
+@[deprecated] -- 2024-02-14
+alias span_eq_top_of_linearIndependent_of_card_eq_finrank :=
+ LinearIndependent.span_eq_top_of_card_eq_finrank
/-- A linear independent family of `finrank K V` vectors forms a basis. -/
@[simps! repr_apply]
noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type*} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
Basis ι K V :=
- Basis.mk lin_ind <| (span_eq_top_of_linearIndependent_of_card_eq_finrank lin_ind card_eq).ge
+ Basis.mk lin_ind <| (lin_ind.span_eq_top_of_card_eq_finrank card_eq).ge
#align basis_of_linear_independent_of_card_eq_finrank basisOfLinearIndependentOfCardEqFinrank
@[simp]
@@ -321,7 +321,7 @@ noncomputable def basisSingleton (ι : Type*) [Unique ι] (h : finrank K V = 1)
apply_fun b.repr using b.repr.toEquiv.injective
apply_fun Equiv.finsuppUnique
simp only [LinearEquiv.map_smulₛₗ, Finsupp.coe_smul, Finsupp.single_eq_same,
- RingHom.id_apply, smul_eq_mul, Pi.smul_apply, Equiv.finsuppUnique_apply]
+ smul_eq_mul, Pi.smul_apply, Equiv.finsuppUnique_apply]
exact div_mul_cancel _ h
right_inv := fun f => by
ext
The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun
instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike
is EquivLike
, since that has a custom coe_injective'
field that is easier to implement. All other classes should take FunLike
or EquivLike
as a parameter.
Previously, morphism classes would be Type
-valued and extend FunLike
:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
After this PR, they should be Prop
-valued and take FunLike
as a parameter:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
[FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
(Note that A B
stay marked as outParam
even though they are not purely required to be so due to the FunLike
parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam
is slightly faster.)
Similarly, MyEquivClass
should take EquivLike
as a parameter.
As a result, every mention of [MyHomClass F A B]
should become [FunLike F A B] [MyHomClass F A B]
.
While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul
is more expensive. This is due to suboptimal processing of arguments. For example:
variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)
theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y
example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _
Before this PR, applying map_mul f
gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Since M
and N
are out_param
s, [MulHomClass F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found.
After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Now [FunLike F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found, before trying MulHomClass F M N
which fails. Since the Mul
hierarchy is very big, this can be slow to fail, especially when there is no such Mul
instance.
A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul
to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N]
because MulHomClass
fails or succeeds much faster than the others.
As a consequence, the simpNF
linter is much slower since by design it tries and fails to apply many map_
lemmas. The same issue occurs a few times in existing calls to simp [map_mul]
, where map_mul
is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.
simp
not firing sometimesThis affects map_smulₛₗ
and related definitions. For simp
lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw
can find every argument to map_smulₛₗ
successfully but simp
can't: leanprover/lean4#3701.
Especially in the category theory library, we might sometimes have a type A
which is also accessible as a synonym (Bundled A hA).1
. Instance synthesis doesn't always work if we have f : A →* B
but x * y : (Bundled A hA).1
or vice versa. This seems to be mostly fixed by keeping A B
as outParam
s in MulHomClass F A B
. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1
instead of using the syntax in the discrimination tree.)
The timeouts can be worked around for now by specifying which map_mul
we mean, either as map_mul f
for some explicit f
, or as e.g. MonoidHomClass.map_mul
.
map_smulₛₗ
not firing as simp
lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ
a simp
lemma instead of the generic map_smulₛₗ
. Writing simp [map_smulₛₗ _]
also works.
Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -246,7 +246,7 @@ theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submo
span_image]
have := bS.span_eq
rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
- rw [this, map_top (Submodule.subtype S), range_subtype]
+ rw [this, Submodule.map_top (Submodule.subtype S), range_subtype]
#align finite_dimensional.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
Rename lemmas to enable new-style dot notation or drop repeating FiniteDimensional.finiteDimensional_*
.
Restore old names as deprecated aliases.
@@ -184,21 +184,21 @@ theorem finrank_of_infinite_dimensional (h : ¬FiniteDimensional K V) : finrank
FiniteDimensional.finrank_of_not_finite h
#align finite_dimensional.finrank_of_infinite_dimensional FiniteDimensional.finrank_of_infinite_dimensional
-theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V :=
+theorem of_finrank_pos (h : 0 < finrank K V) : FiniteDimensional K V :=
Module.finite_of_finrank_pos h
-#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.finiteDimensional_of_finrank
+#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.of_finrank_pos
-theorem finiteDimensional_of_finrank_eq_succ {n : ℕ} (hn : finrank K V = n.succ) :
+theorem of_finrank_eq_succ {n : ℕ} (hn : finrank K V = n.succ) :
FiniteDimensional K V :=
Module.finite_of_finrank_eq_succ hn
-#align finite_dimensional.finite_dimensional_of_finrank_eq_succ FiniteDimensional.finiteDimensional_of_finrank_eq_succ
+#align finite_dimensional.finite_dimensional_of_finrank_eq_succ FiniteDimensional.of_finrank_eq_succ
/-- We can infer `FiniteDimensional K V` in the presence of `[Fact (finrank K V = n + 1)]`. Declare
this as a local instance where needed. -/
-theorem fact_finiteDimensional_of_finrank_eq_succ (n : ℕ) [hn : Fact (finrank K V = n + 1)] :
+theorem of_fact_finrank_eq_succ (n : ℕ) [hn : Fact (finrank K V = n + 1)] :
FiniteDimensional K V :=
- finiteDimensional_of_finrank_eq_succ hn.out
-#align finite_dimensional.fact_finite_dimensional_of_finrank_eq_succ FiniteDimensional.fact_finiteDimensional_of_finrank_eq_succ
+ of_finrank_eq_succ hn.out
+#align finite_dimensional.fact_finite_dimensional_of_finrank_eq_succ FiniteDimensional.of_fact_finrank_eq_succ
theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W] {n : ℕ}
(hn : n ≠ 0) (hVW : Module.rank K V = n • Module.rank K W) :
@@ -252,7 +252,7 @@ theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submo
variable (K)
-instance finiteDimensional_self : FiniteDimensional K K := by infer_instance
+instance finiteDimensional_self : FiniteDimensional K K := inferInstance
#align finite_dimensional.finite_dimensional_self FiniteDimensional.finiteDimensional_self
/-- The submodule generated by a finite set is finite-dimensional. -/
@@ -352,24 +352,32 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
-theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
+theorem FiniteDimensional.of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
FiniteDimensional K V :=
Module.finite_of_rank_eq_nat h
-#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_nat
+#align finite_dimensional_of_rank_eq_nat FiniteDimensional.of_rank_eq_nat
--- TODO: generalize to free modules over general rings.
-theorem finiteDimensional_of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
+@[deprecated] -- Since 2024/02/02
+alias finiteDimensional_of_rank_eq_nat := FiniteDimensional.of_rank_eq_nat
+
+theorem FiniteDimensional.of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
Module.finite_of_rank_eq_zero h
-#align finite_dimensional_of_rank_eq_zero finiteDimensional_of_rank_eq_zero
+#align finite_dimensional_of_rank_eq_zero FiniteDimensional.of_rank_eq_zero
+
+@[deprecated] -- Since 2024/02/02
+alias finiteDimensional_of_rank_eq_zero := FiniteDimensional.of_rank_eq_zero
-theorem finiteDimensional_of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
+theorem FiniteDimensional.of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
Module.finite_of_rank_eq_one h
-#align finite_dimensional_of_rank_eq_one finiteDimensional_of_rank_eq_one
+#align finite_dimensional_of_rank_eq_one FiniteDimensional.of_rank_eq_one
+
+@[deprecated] -- Since 2024/02/02
+alias finiteDimensional_of_rank_eq_one := FiniteDimensional.of_rank_eq_one
variable (K V)
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
- finiteDimensional_of_rank_eq_zero <| by simp
+ of_rank_eq_zero <| by simp
#align finite_dimensional_bot finiteDimensional_bot
variable {K V}
@@ -909,7 +917,7 @@ lemma exists_smul_eq_of_finrank_eq_one
(h : finrank K V = 1) {x : V} (hx : x ≠ 0) (y : V) :
∃ (c : K), c • x = y := by
have : Submodule.span K {x} = ⊤ := by
- have : FiniteDimensional K V := finiteDimensional_of_finrank (zero_lt_one.trans_le h.symm.le)
+ have : FiniteDimensional K V := .of_finrank_eq_succ h
apply eq_top_of_finrank_eq
rw [h]
exact finrank_span_singleton hx
@@ -1026,7 +1034,7 @@ theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
theorem finrank_eq_one_iff (ι : Type*) [Unique ι] : finrank K V = 1 ↔ Nonempty (Basis ι K V) := by
constructor
· intro h
- haveI := finiteDimensional_of_finrank (_root_.zero_lt_one.trans_le h.symm.le)
+ haveI : FiniteDimensional K V := .of_finrank_eq_succ h
exact ⟨FiniteDimensional.basisUnique ι h⟩
· rintro ⟨b⟩
simpa using finrank_eq_card_basis b
@@ -1091,7 +1099,7 @@ theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K
haveI := nontrivial_of_finrank_eq_succ h
refine' ⟨fun S => or_iff_not_imp_left.2 fun hn => _⟩
rw [← restrictScalars_inj K] at hn ⊢
- haveI : FiniteDimensional _ _ := finiteDimensional_of_finrank_eq_succ h
+ haveI : FiniteDimensional _ _ := .of_finrank_eq_succ h
refine' eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
simpa only [h, finrank_bot] using Submodule.finrank_strictMono (Ne.bot_lt hn)
#align is_simple_module_of_finrank_eq_one is_simple_module_of_finrank_eq_one
@@ -1135,7 +1143,7 @@ instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) := by
nontriviality E
- exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
+ exact .of_rank_eq_one Subalgebra.rank_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) :
@@ -1143,7 +1151,7 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
nontriviality E
obtain ⟨m, _, he⟩ := Cardinal.exists_nat_eq_of_le_nat (h.trans_eq Nat.cast_one.symm)
-- porting note: fails without explicit type
- haveI : FiniteDimensional F S := finiteDimensional_of_rank_eq_nat he
+ haveI : FiniteDimensional F S := .of_rank_eq_nat he
rw [← not_bot_lt_iff, ← Subalgebra.toSubmodule.lt_iff_lt]
-- porting note: fails without explicit type
haveI : FiniteDimensional F (Subalgebra.toSubmodule S) :=
@@ -1156,7 +1164,7 @@ theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F
theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S = 1) : S = ⊥ :=
Subalgebra.eq_bot_of_rank_le_one <| by
-- porting note: fails without explicit type
- haveI : FiniteDimensional F S := finiteDimensional_of_finrank_eq_succ h
+ haveI : FiniteDimensional F S := .of_finrank_eq_succ h
rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
@@ -1199,7 +1207,7 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
⟨⟨⊥, ⊤, fun h => by cases hr.symm.trans (Subalgebra.bot_eq_top_iff_finrank_eq_one.1 h)⟩⟩
eq_bot_or_eq_top := by
intro S
- haveI : FiniteDimensional F E := finiteDimensional_of_finrank_eq_succ hr
+ haveI : FiniteDimensional F E := .of_finrank_eq_succ hr
haveI : FiniteDimensional F S :=
FiniteDimensional.finiteDimensional_submodule (Subalgebra.toSubmodule S)
have : finrank F S ≤ 2 := hr ▸ S.toSubmodule.finrank_le
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
-/
import Mathlib.FieldTheory.Finiteness
+import Mathlib.LinearAlgebra.Dimension.DivisionRing
#align_import linear_algebra.finite_dimensional from "leanprover-community/mathlib"@"e95e4f92c8f8da3c7f693c3ec948bcf9b6683f51"
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -1078,7 +1078,7 @@ theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type*} [Semiring A] [Modu
[AddCommGroup W] [Module K W] [Module A W] [LinearMap.CompatibleSMul V W K A]
(h : finrank K W = 1) {f : V →ₗ[A] W} (w : f ≠ 0) : Surjective f := by
change Surjective (f.restrictScalars K)
- obtain ⟨v, n⟩ := FunLike.ne_iff.mp w
+ obtain ⟨v, n⟩ := DFunLike.ne_iff.mp w
intro z
obtain ⟨c, rfl⟩ := (finrank_eq_one_iff_of_nonzero' (f v) n).mp h z
exact ⟨c • v, by simp⟩
∃ x ∈ s, p x
instead of ∃ x (_ : x ∈ s), p x
(#9326)
This is a follow-up to #9215. It changes the following theorems and definitions:
IsOpen.exists_subset_affineIndependent_span_eq_top
IsConformalMap
SimpleGraph.induce_connected_of_patches
Submonoid.exists_list_of_mem_closure
AddSubmonoid.exists_list_of_mem_closure
AffineSubspace.mem_affineSpan_insert_iff
AffineBasis.exists_affine_subbasis
exists_affineIndependent
LinearMap.mem_submoduleImage
Basis.basis_singleton_iff
atom_iff_nonzero_span
finrank_eq_one_iff'
Submodule.basis_of_pid_aux
exists_linearIndependent_extension
exists_linearIndependent
countable_cover_nhdsWithin_of_sigma_compact
mem_residual
Also deprecate ENNReal.exists_ne_top'
.
@@ -1033,8 +1033,7 @@ theorem finrank_eq_one_iff (ι : Type*) [Unique ι] : finrank K V = 1 ↔ Nonemp
/-- A module has dimension 1 iff there is some nonzero `v : V` so every vector is a multiple of `v`.
-/
-theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ (v : V) (_n : v ≠ 0),
- ∀ w : V, ∃ c : K, c • v = w := by
+theorem finrank_eq_one_iff' : finrank K V = 1 ↔ ∃ v ≠ 0, ∀ w : V, ∃ c : K, c • v = w := by
-- porting note: was a messy `convert` proof
rw [finrank_eq_one_iff PUnit.{u+1}, Basis.basis_singleton_iff PUnit]
#align finrank_eq_one_iff' finrank_eq_one_iff'
rank
and finrank
. (#9349)
The files Mathlib.LinearAlgebra.FreeModule.Rank
, Mathlib.LinearAlgebra.FreeModule.Finite.Rank
, Mathlib.LinearAlgebra.Dimension
and Mathlib.LinearAlgebra.Finrank
were reorganized into a
folder Mathlib.LinearAlgebra.Dimension
, containing the following files
Basic.lean
: Contains the definition of Module.rank
.Finrank.lean
: Contains the definition of FiniteDimensional.finrank
.StrongRankCondition.lean
: Contains results about rank
and finrank
over rings satisfying strong rank conditionFree.lean
: Contains results about rank
and finrank
of free modulesFinite.lean
: Contains conditions or consequences for rank
to be finite or zeroConstructions.lean
: Contains the calculation of the rank
of various constructions.DivisionRing.lean
: Contains results about rank
and finrank
of spaces over division rings.LinearMap.lean
: Contains results about LinearMap.rank
API changes:
IsNoetherian.rank_lt_aleph0
and FiniteDimensional.rank_lt_aleph0
are replaced with
rank_lt_aleph0
.
Module.Free.finite_basis
was renamed to Module.Finite.finite_basis
.
FiniteDimensional.finrank_eq_rank
was renamed to finrank_eq_rank
.
rank_eq_cardinal_basis
and rank_eq_cardinal_basis'
were removed
in favour of Basis.mk_eq_mk
and Basis.mk_eq_mk''
.
Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>
@@ -3,11 +3,7 @@ Copyright (c) 2019 Chris Hughes. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Chris Hughes
-/
-import Mathlib.Algebra.Algebra.Subalgebra.Basic
import Mathlib.FieldTheory.Finiteness
-import Mathlib.LinearAlgebra.FreeModule.Finite.Rank
-import Mathlib.Tactic.IntervalCases
-import Mathlib.Tactic.ApplyCongr
#align_import linear_algebra.finite_dimensional from "leanprover-community/mathlib"@"e95e4f92c8f8da3c7f693c3ec948bcf9b6683f51"
@@ -139,7 +135,7 @@ theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDi
/-- If a vector space is `FiniteDimensional`, all bases are indexed by a finite type -/
noncomputable def fintypeBasisIndex {ι : Type*} [FiniteDimensional K V] (b : Basis ι K V) :
Fintype ι :=
- @Fintype.ofFinite _ (Module.Free.finite_basis b)
+ @Fintype.ofFinite _ (Module.Finite.finite_basis b)
#align finite_dimensional.fintype_basis_index FiniteDimensional.fintypeBasisIndex
/-- If a vector space is `FiniteDimensional`, `Basis.ofVectorSpace` is indexed by
@@ -163,7 +159,7 @@ instance finiteDimensional_submodule [FiniteDimensional K V] (S : Submodule K V)
exact
iff_fg.1
(IsNoetherian.iff_rank_lt_aleph0.2
- (lt_of_le_of_lt (rank_submodule_le _) (rank_lt_aleph0 K V)))
+ (lt_of_le_of_lt (rank_submodule_le _) (_root_.rank_lt_aleph0 K V)))
infer_instance
#align finite_dimensional.finite_dimensional_submodule FiniteDimensional.finiteDimensional_submodule
@@ -399,7 +395,7 @@ theorem finiteDimensional_of_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
haveI : IsNoetherian K S₂ := iff_fg.2 inferInstance
iff_fg.1
(IsNoetherian.iff_rank_lt_aleph0.2
- (lt_of_le_of_lt (rank_le_of_submodule _ _ h) (FiniteDimensional.rank_lt_aleph0 K S₂)))
+ (lt_of_le_of_lt (rank_le_of_submodule _ _ h) (rank_lt_aleph0 K S₂)))
#align submodule.finite_dimensional_of_le Submodule.finiteDimensional_of_le
/-- The inf of two submodules, the first finite-dimensional, is
@@ -1310,7 +1306,7 @@ theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K]
[Module K V] [Finite K] [FiniteDimensional K V] : #V < ℵ₀ := by
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
- exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
+ exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (rank_lt_aleph0 K V)
#align cardinal_lt_aleph_0_of_finite_dimensional cardinal_lt_aleph0_of_finiteDimensional
end Module
@@ -235,11 +235,11 @@ theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submo
set b := Basis.extend this with b_eq
-- porting note: `letI` now uses `this` so we need to give different names
letI i1 : Fintype (this.extend _) :=
- (finite_of_linearIndependent (by simpa using b.linearIndependent)).fintype
+ (LinearIndependent.set_finite_of_isNoetherian (by simpa using b.linearIndependent)).fintype
letI i2 : Fintype (((↑) : S → V) '' Basis.ofVectorSpaceIndex K S) :=
- (finite_of_linearIndependent this).fintype
+ (LinearIndependent.set_finite_of_isNoetherian this).fintype
letI i3 : Fintype (Basis.ofVectorSpaceIndex K S) :=
- (finite_of_linearIndependent (by simpa using bS.linearIndependent)).fintype
+ (LinearIndependent.set_finite_of_isNoetherian (by simpa using bS.linearIndependent)).fintype
have : (↑) '' Basis.ofVectorSpaceIndex K S = this.extend (Set.subset_univ _) :=
Set.eq_of_subset_of_card_le (this.subset_extend _)
(by
LinearIndependent
dot notation (#9144)
Rename cardinal_lift_le_rank_of_linearIndependent
, cardinal_le_rank_of_linearIndependent(')
, cardinal_mk/fintype_card/finset_card_le_finrank_of_linearIndependent
, fintype_card_le_finrank_of_linearIndependent
, finset_card_le_finrank_of_linearIndependent
by removing trailing _of_linearIndependent
in favor of namespace LinearIndependent.
Remove cardinal_lift_le_rank_of_linearIndependent'
, exact duplicate of the version without the prime
Rename FiniteDimensional/Module.Finite.lt_aleph0_of_linearIndependent
to LinearIndependent.lt_aleph0_of_finiteDimensional/finite
Add one lemma LinearIndependent.aleph0_le_rank
in LinearAlgebra/Dimension and two lemmas LinearIndependent.finrank_eq_zero_of_infinite
and finrank_eq_nat_card_basis
in LinearAlgebra/Finrank
Remove StrongRankCondition
from finrank_eq_zero_of_basis_imp_not_finite
and four subsequent lemmas
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com> Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>
@@ -216,10 +216,12 @@ theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis
Module.mk_finrank_eq_card_basis h
#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'
-theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
- (h : LinearIndependent K v) : #ι < ℵ₀ :=
- Module.Finite.lt_aleph0_of_linearIndependent h
-#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
+theorem _root_.LinearIndependent.lt_aleph0_of_finiteDimensional {ι : Type w} [FiniteDimensional K V]
+ {v : ι → V} (h : LinearIndependent K v) : #ι < ℵ₀ :=
+ h.lt_aleph0_of_finite
+#align finite_dimensional.lt_aleph_0_of_linear_independent LinearIndependent.lt_aleph0_of_finiteDimensional
+@[deprecated] alias
+lt_aleph0_of_linearIndependent := LinearIndependent.lt_aleph0_of_finiteDimensional
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
finrank
to rings. (#8912)
A portion of results in Mathlib/LinearAlgebra/FiniteDimensional.lean
were generalized to rings and moved to Mathlib/LinearAlgebra/FreeModule/Finite/Rank.lean
. Most API lemmas for FiniteDimensional
are kept but replaced with one lemma proofs. Definitions and niche lemmas are replaced by the generalized version completely.
Co-authored-by: erd1 <the.erd.one@gmail.com> Co-authored-by: Andrew Yang <the.erd.one@gmail.com>
@@ -67,13 +67,8 @@ in `Mathlib.LinearAlgebra.Dimension`. Not all results have been ported yet.
You should not assume that there has been any effort to state lemmas as generally as possible.
-One of the characterizations of finite-dimensionality is in terms of finite generation. This
-property is currently defined only for submodules, so we express it through the fact that the
-maximal submodule (which, as a set, coincides with the whole space) is finitely generated. This is
-not very convenient to use, although there are some helper functions. However, this becomes very
-convenient when speaking of submodules which are finite-dimensional, as this notion coincides with
-the fact that the submodule is finitely generated (as a submodule of the whole space). This
-equivalence is proved in `Submodule.fg_iff_finiteDimensional`.
+Plenty of the results hold for general fg modules or notherian modules, and they can be found in
+`Mathlib.LinearAlgebra.FreeModule.Finite.Rank` and `Mathlib.RingTheory.Noetherian`.
-/
@@ -115,13 +110,12 @@ theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [Finite
variable (K V)
instance finiteDimensional_pi {ι : Type*} [Finite ι] : FiniteDimensional K (ι → K) :=
- iff_fg.1 isNoetherian_pi
+ Finite.pi
#align finite_dimensional.finite_dimensional_pi FiniteDimensional.finiteDimensional_pi
instance finiteDimensional_pi' {ι : Type*} [Finite ι] (M : ι → Type*) [∀ i, AddCommGroup (M i)]
- [∀ i, Module K (M i)] [I : ∀ i, FiniteDimensional K (M i)] : FiniteDimensional K (∀ i, M i) :=
- haveI : ∀ i : ι, IsNoetherian K (M i) := fun i => iff_fg.2 (I i)
- iff_fg.1 isNoetherian_pi
+ [∀ i, Module K (M i)] [∀ i, FiniteDimensional K (M i)] : FiniteDimensional K (∀ i, M i) :=
+ Finite.pi
#align finite_dimensional.finite_dimensional_pi' FiniteDimensional.finiteDimensional_pi'
/-- A finite dimensional vector space over a finite field is finite -/
@@ -138,19 +132,14 @@ theorem finite_of_finite [Finite K] [FiniteDimensional K V] : Finite V := by
variable {K V}
/-- If a vector space has a finite basis, then it is finite-dimensional. -/
-theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDimensional K V := by
- classical
- cases nonempty_fintype ι
- exact ⟨⟨Finset.univ.image h, by
- convert h.span_eq
- simp⟩⟩
+theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDimensional K V :=
+ Module.Finite.of_basis h
#align finite_dimensional.of_fintype_basis FiniteDimensional.of_fintype_basis
/-- If a vector space is `FiniteDimensional`, all bases are indexed by a finite type -/
noncomputable def fintypeBasisIndex {ι : Type*} [FiniteDimensional K V] (b : Basis ι K V) :
Fintype ι :=
- letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
- IsNoetherian.fintypeBasisIndex b
+ @Fintype.ofFinite _ (Module.Free.finite_basis b)
#align finite_dimensional.fintype_basis_index FiniteDimensional.fintypeBasisIndex
/-- If a vector space is `FiniteDimensional`, `Basis.ofVectorSpace` is indexed by
@@ -181,7 +170,7 @@ instance finiteDimensional_submodule [FiniteDimensional K V] (S : Submodule K V)
/-- A quotient of a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_quotient [FiniteDimensional K V] (S : Submodule K V) :
FiniteDimensional K (V ⧸ S) :=
- Module.Finite.of_surjective (Submodule.mkQ S) <| surjective_quot_mk _
+ Module.Finite.quotient K S
#align finite_dimensional.finite_dimensional_quotient FiniteDimensional.finiteDimensional_quotient
variable (K V)
@@ -195,152 +184,43 @@ theorem finrank_eq_rank' [FiniteDimensional K V] : (finrank K V : Cardinal.{v})
variable {K V}
theorem finrank_of_infinite_dimensional (h : ¬FiniteDimensional K V) : finrank K V = 0 :=
- dif_neg <| mt IsNoetherian.iff_rank_lt_aleph0.2 <| (not_iff_not.2 iff_fg).2 h
+ FiniteDimensional.finrank_of_not_finite h
#align finite_dimensional.finrank_of_infinite_dimensional FiniteDimensional.finrank_of_infinite_dimensional
-theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V := by
- contrapose h
- simp [finrank_of_infinite_dimensional h]
+theorem finiteDimensional_of_finrank (h : 0 < finrank K V) : FiniteDimensional K V :=
+ Module.finite_of_finrank_pos h
#align finite_dimensional.finite_dimensional_of_finrank FiniteDimensional.finiteDimensional_of_finrank
theorem finiteDimensional_of_finrank_eq_succ {n : ℕ} (hn : finrank K V = n.succ) :
FiniteDimensional K V :=
- finiteDimensional_of_finrank <| by rw [hn]; exact n.succ_pos
+ Module.finite_of_finrank_eq_succ hn
#align finite_dimensional.finite_dimensional_of_finrank_eq_succ FiniteDimensional.finiteDimensional_of_finrank_eq_succ
/-- We can infer `FiniteDimensional K V` in the presence of `[Fact (finrank K V = n + 1)]`. Declare
this as a local instance where needed. -/
-theorem fact_finiteDimensional_of_finrank_eq_succ (n : ℕ) [Fact (finrank K V = n + 1)] :
+theorem fact_finiteDimensional_of_finrank_eq_succ (n : ℕ) [hn : Fact (finrank K V = n + 1)] :
FiniteDimensional K V :=
- finiteDimensional_of_finrank <| by convert Nat.succ_pos n; apply Fact.out
+ finiteDimensional_of_finrank_eq_succ hn.out
#align finite_dimensional.fact_finite_dimensional_of_finrank_eq_succ FiniteDimensional.fact_finiteDimensional_of_finrank_eq_succ
theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W] {n : ℕ}
(hn : n ≠ 0) (hVW : Module.rank K V = n • Module.rank K W) :
- FiniteDimensional K V ↔ FiniteDimensional K W := by
- simp only [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, hVW,
- Cardinal.nsmul_lt_aleph0_iff_of_ne_zero hn]
+ FiniteDimensional K V ↔ FiniteDimensional K W :=
+ Module.finite_iff_of_rank_eq_nsmul hn hVW
#align finite_dimensional.finite_dimensional_iff_of_rank_eq_nsmul FiniteDimensional.finiteDimensional_iff_of_rank_eq_nsmul
/-- If a vector space is finite-dimensional, then the cardinality of any basis is equal to its
`finrank`. -/
theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis ι K V) :
- (finrank K V : Cardinal.{w}) = #ι := by
- haveI : IsNoetherian K V := iff_fg.2 inferInstance
- haveI : Fintype ι := fintypeBasisIndex h
- rw [Cardinal.mk_fintype, finrank_eq_card_basis h]
+ (finrank K V : Cardinal.{w}) = #ι :=
+ Module.mk_finrank_eq_card_basis h
#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'
-/-- Given a basis of a division ring over itself indexed by a type `ι`, then `ι` is `Unique`. -/
-noncomputable def _root_.Basis.unique {ι : Type*} (b : Basis ι K K) : Unique ι := by
- have A : Cardinal.mk ι = ↑(FiniteDimensional.finrank K K) :=
- (FiniteDimensional.finrank_eq_card_basis' b).symm
- -- porting note: replace `algebraMap.coe_one` with `Nat.cast_one`
- simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, Nat.cast_one] at A
- exact Nonempty.some ((unique_iff_subsingleton_and_nonempty _).2 A)
-#align basis.unique Basis.unique
-
-variable (K V)
-
-/-- A finite dimensional vector space has a basis indexed by `Fin (finrank K V)`. -/
-noncomputable def finBasis [FiniteDimensional K V] : Basis (Fin (finrank K V)) K V :=
- have h : Fintype.card (@finsetBasisIndex K V _ _ _ (iff_fg.2 inferInstance)) = finrank K V :=
- (finrank_eq_card_basis (@finsetBasis K V _ _ _ (iff_fg.2 inferInstance))).symm
- (@finsetBasis K V _ _ _ (iff_fg.2 inferInstance)).reindex (Fintype.equivFinOfCardEq h)
-#align finite_dimensional.fin_basis FiniteDimensional.finBasis
-
-/-- An `n`-dimensional vector space has a basis indexed by `Fin n`. -/
-noncomputable def finBasisOfFinrankEq [FiniteDimensional K V] {n : ℕ} (hn : finrank K V = n) :
- Basis (Fin n) K V :=
- (finBasis K V).reindex (Fin.castIso hn).toEquiv
-#align finite_dimensional.fin_basis_of_finrank_eq FiniteDimensional.finBasisOfFinrankEq
-
-variable {K V}
-
-/-- A module with dimension 1 has a basis with one element. -/
-noncomputable def basisUnique (ι : Type*) [Unique ι] (h : finrank K V = 1) : Basis ι K V :=
- haveI : FiniteDimensional _ _ :=
- finiteDimensional_of_finrank (_root_.zero_lt_one.trans_le h.symm.le)
- (finBasisOfFinrankEq K V h).reindex (Equiv.equivOfUnique _ _)
-#align finite_dimensional.basis_unique FiniteDimensional.basisUnique
-
-@[simp]
-theorem basisUnique.repr_eq_zero_iff {ι : Type*} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
- (basisUnique ι h).repr v i = 0 ↔ v = 0 :=
- ⟨fun hv =>
- (basisUnique ι h).repr.map_eq_zero_iff.mp (Finsupp.ext fun j => Subsingleton.elim i j ▸ hv),
- fun hv => by rw [hv, LinearEquiv.map_zero, Finsupp.zero_apply]⟩
-#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iff
-
-theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
- (h : LinearIndependent K b) : #ι ≤ finrank K V := by
- rw [← lift_le.{max v w}]
- simpa [← finrank_eq_rank', -finrank_eq_rank] using
- cardinal_lift_le_rank_of_linearIndependent h
-#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
-
-theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type*}
- [Fintype ι] {b : ι → V} (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
- simpa using cardinal_mk_le_finrank_of_linearIndependent h
-#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependent
-
-theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b : Finset V}
- (h : LinearIndependent K (fun x => x : b → V)) : b.card ≤ finrank K V := by
- rw [← Fintype.card_coe]
- exact fintype_card_le_finrank_of_linearIndependent h
-#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
-
theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
- (h : LinearIndependent K v) : #ι < ℵ₀ := by
- apply Cardinal.lift_lt.1
- apply lt_of_le_of_lt
- apply cardinal_lift_le_rank_of_linearIndependent h
- rw [← finrank_eq_rank, Cardinal.lift_aleph0, Cardinal.lift_natCast]
- apply Cardinal.nat_lt_aleph0
+ (h : LinearIndependent K v) : #ι < ℵ₀ :=
+ Module.Finite.lt_aleph0_of_linearIndependent h
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
-lemma _root_.LinearIndependent.finite {ι : Type*} [FiniteDimensional K V] {f : ι → V}
- (h : LinearIndependent K f) : Finite ι :=
- Cardinal.lt_aleph0_iff_finite.1 <| FiniteDimensional.lt_aleph0_of_linearIndependent h
-
-theorem not_linearIndependent_of_infinite {ι : Type*} [Infinite ι] [FiniteDimensional K V]
- (v : ι → V) : ¬LinearIndependent K v := mt LinearIndependent.finite <| @not_finite _ _
-#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
-
-theorem _root_.LinearIndependent.setFinite [FiniteDimensional K V] {b : Set V}
- (h : LinearIndependent K fun x : b => (x : V)) : b.Finite :=
- Cardinal.lt_aleph0_iff_set_finite.mp (FiniteDimensional.lt_aleph0_of_linearIndependent h)
-#align linear_independent.finite LinearIndependent.setFinite
-
-/-- A finite dimensional space has positive `finrank` iff it has a nonzero element. -/
-theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
- Iff.trans
- (by
- rw [← finrank_eq_rank]
- norm_cast)
- (@rank_pos_iff_exists_ne_zero K V _ _ _ _ _)
-#align finite_dimensional.finrank_pos_iff_exists_ne_zero FiniteDimensional.finrank_pos_iff_exists_ne_zero
-
-/-- A finite dimensional space has positive `finrank` iff it is nontrivial. -/
-theorem finrank_pos_iff [FiniteDimensional K V] : 0 < finrank K V ↔ Nontrivial V :=
- Iff.trans
- (by rw [← finrank_eq_rank]; norm_cast)
- (rank_pos_iff_nontrivial (R := K))
-#align finite_dimensional.finrank_pos_iff FiniteDimensional.finrank_pos_iff
-
-/-- A nontrivial finite dimensional space has positive `finrank`. -/
-theorem finrank_pos [FiniteDimensional K V] [h : Nontrivial V] : 0 < finrank K V :=
- finrank_pos_iff.mpr h
-#align finite_dimensional.finrank_pos FiniteDimensional.finrank_pos
-
-/-- A finite dimensional space has zero `finrank` iff it is a subsingleton.
-This is the `finrank` version of `rank_zero_iff`. -/
-theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingleton V :=
- Iff.trans
- (by rw [← finrank_eq_rank]; norm_cast)
- (rank_zero_iff (R := K))
-#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
-
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
@@ -378,17 +258,17 @@ instance finiteDimensional_self : FiniteDimensional K K := by infer_instance
/-- The submodule generated by a finite set is finite-dimensional. -/
theorem span_of_finite {A : Set V} (hA : Set.Finite A) : FiniteDimensional K (Submodule.span K A) :=
- iff_fg.1 <| isNoetherian_span_of_finite K hA
+ Module.Finite.span_of_finite K hA
#align finite_dimensional.span_of_finite FiniteDimensional.span_of_finite
/-- The submodule generated by a single element is finite-dimensional. -/
instance span_singleton (x : V) : FiniteDimensional K (K ∙ x) :=
- span_of_finite K <| Set.finite_singleton _
+ Module.Finite.span_singleton K x
#align finite_dimensional.span_singleton FiniteDimensional.span_singleton
/-- The submodule generated by a finset is finite-dimensional. -/
instance span_finset (s : Finset V) : FiniteDimensional K (span K (s : Set V)) :=
- span_of_finite K <| s.finite_toSet
+ Module.Finite.span_finset K s
#align finite_dimensional.span_finset FiniteDimensional.span_finset
/-- Pushforwards of finite-dimensional submodules are finite-dimensional. -/
@@ -398,172 +278,12 @@ instance (f : V →ₗ[K] V₂) (p : Submodule K V) [FiniteDimensional K p] :
variable {K}
-theorem _root_.CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensional K V]
- {ι : Type w} {p : ι → Submodule K V} (hp : CompleteLattice.Independent p) :
- #{ i // p i ≠ ⊥ } ≤ (finrank K V : Cardinal.{w}) := by
- suffices Cardinal.lift.{v} #{ i // p i ≠ ⊥ } ≤ Cardinal.lift.{v} (finrank K V : Cardinal.{w}) by
- rwa [Cardinal.lift_le] at this
- calc
- Cardinal.lift.{v} #{ i // p i ≠ ⊥ } ≤ Cardinal.lift.{w} (Module.rank K V) :=
- hp.subtype_ne_bot_le_rank
- _ = Cardinal.lift.{w} (finrank K V : Cardinal.{v}) := by rw [finrank_eq_rank]
- _ = Cardinal.lift.{v} (finrank K V : Cardinal.{w}) := by simp
-#align complete_lattice.independent.subtype_ne_bot_le_finrank_aux CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux
-
-/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
-number of nontrivial subspaces in the family `p` is finite. -/
-noncomputable def _root_.CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
- [FiniteDimensional K V] {ι : Type w} {p : ι → Submodule K V}
- (hp : CompleteLattice.Independent p) : Fintype { i : ι // p i ≠ ⊥ } := by
- suffices #{ i // p i ≠ ⊥ } < (ℵ₀ : Cardinal.{w}) by
- rw [Cardinal.lt_aleph0_iff_fintype] at this
- exact this.some
- refine' lt_of_le_of_lt hp.subtype_ne_bot_le_finrank_aux _
- simp [Cardinal.nat_lt_aleph0]
-#align complete_lattice.independent.fintype_ne_bot_of_finite_dimensional CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
-
-/-- If `p` is an independent family of subspaces of a finite-dimensional space `V`, then the
-number of nontrivial subspaces in the family `p` is bounded above by the dimension of `V`.
-
-Note that the `Fintype` hypothesis required here can be provided by
-`CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional`. -/
-theorem _root_.CompleteLattice.Independent.subtype_ne_bot_le_finrank [FiniteDimensional K V]
- {ι : Type w} {p : ι → Submodule K V} (hp : CompleteLattice.Independent p)
- [Fintype { i // p i ≠ ⊥ }] :
- Fintype.card { i // p i ≠ ⊥ } ≤ finrank K V := by simpa using hp.subtype_ne_bot_le_finrank_aux
-#align complete_lattice.independent.subtype_ne_bot_le_finrank CompleteLattice.Independent.subtype_ne_bot_le_finrank
-
section
open BigOperators
open Finset
-/-- If a finset has cardinality larger than the dimension of the space,
-then there is a nontrivial linear relation amongst its elements.
--/
-theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t : Finset V}
- (h : finrank K V < t.card) : ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
- classical
- have := mt finset_card_le_finrank_of_linearIndependent (by simpa using h)
- rw [not_linearIndependent_iff] at this
- obtain ⟨s, g, sum, z, zm, nonzero⟩ := this
- -- Now we have to extend `g` to all of `t`, then to all of `V`.
- let f : V → K := fun x => if h : x ∈ t then if (⟨x, h⟩ : t) ∈ s then g ⟨x, h⟩ else 0 else 0
- -- and finally clean up the mess caused by the extension.
- refine' ⟨f, _, _⟩
- · dsimp
- rw [← (sum)] -- porting note: need parens to disambiguate
- fapply sum_bij_ne_zero fun v hvt _ => (⟨v, hvt⟩ : { v // v ∈ t })
- · intro v hvt H
- dsimp
- rw [dif_pos hvt] at H
- contrapose! H
- rw [if_neg H, zero_smul]
- · intro _ _ _ _ _ _
- exact Subtype.mk.inj
- · intro b hbs hb
- use b
- simpa only [hbs, exists_prop, dif_pos, Finset.mk_coe, and_true_iff, if_true, Finset.coe_mem,
- eq_self_iff_true, exists_prop_of_true, Ne.def] using hb
- · intro a h₁
- dsimp
- rw [dif_pos h₁]
- intro h₂
- rw [if_pos]
- contrapose! h₂
- rw [if_neg h₂, zero_smul]
- · refine' ⟨z, z.2, _⟩
- dsimp only
- erw [dif_pos z.2, if_pos] <;> rwa [Subtype.coe_eta]
-#align finite_dimensional.exists_nontrivial_relation_of_rank_lt_card FiniteDimensional.exists_nontrivial_relation_of_rank_lt_card
-
-/-- If a finset has cardinality larger than `finrank + 1`,
-then there is a nontrivial linear relation amongst its elements,
-such that the coefficients of the relation sum to zero.
--/
-theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensional K V]
- {t : Finset V} (h : finrank K V + 1 < t.card) :
- ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
- classical
- -- Pick an element x₀ ∈ t,
- have card_pos : 0 < t.card := lt_trans (Nat.succ_pos _) h
- obtain ⟨x₀, m⟩ := (Finset.card_pos.1 card_pos).bex
- -- and apply the previous lemma to the {xᵢ - x₀}
- let shift : V ↪ V := ⟨fun x => x - x₀, sub_left_injective⟩
- let t' := (t.erase x₀).map shift
- have h' : finrank K V < t'.card := by
- simp only [card_map, Finset.card_erase_of_mem m]
- exact Nat.lt_pred_iff.mpr h
- -- to obtain a function `g`.
- obtain ⟨g, gsum, x₁, x₁_mem, nz⟩ := exists_nontrivial_relation_of_rank_lt_card h'
- -- Then obtain `f` by translating back by `x₀`,
- -- and setting the value of `f` at `x₀` to ensure `∑ e in t, f e = 0`.
- let f : V → K := fun z => if z = x₀ then -∑ z in t.erase x₀, g (z - x₀) else g (z - x₀)
- refine' ⟨f, _, _, _⟩
- -- After this, it's a matter of verifying the properties,
- -- based on the corresponding properties for `g`.
- · show (∑ e : V in t, f e • e) = 0
- -- We prove this by splitting off the `x₀` term of the sum,
- -- which is itself a sum over `t.erase x₀`,
- -- combining the two sums, and
- -- observing that after reindexing we have exactly
- -- ∑ (x : V) in t', g x • x = 0.
- simp only
- conv_lhs =>
- apply_congr
- rfl
- rw [ite_smul]
- rw [Finset.sum_ite]
- conv =>
- congr
- congr
- apply_congr
- -- Porting note: the next two steps used to work by `simp [filter_eq', m]`
- erw [filter_eq']
- simp [m]
- conv =>
- congr
- congr
- rfl
- apply_congr
- simp [filter_ne']
- rw [sum_singleton, neg_smul, add_comm, ← sub_eq_add_neg, sum_smul, ← sum_sub_distrib]
- simp only [← smul_sub]
- -- At the end we have to reindex the sum, so we use `change` to
- -- express the summand using `shift`.
- change (∑ x : V in t.erase x₀, (fun e => g e • e) (shift x)) = 0
- -- porting note: last argument can't be inferred
- rw [← sum_map _ shift (fun e => g e • e)]
- exact gsum
- · show (∑ e : V in t, f e) = 0
- -- Again we split off the `x₀` term,
- -- observing that it exactly cancels the other terms.
- rw [← insert_erase m, sum_insert (not_mem_erase x₀ t)]
- dsimp
- rw [if_pos rfl]
- conv_lhs =>
- congr
- rfl
- apply_congr
- rfl
- rw [if_neg (show _ ≠ x₀ from (mem_erase.mp ‹_›).1)]
- exact neg_add_self _
- · show ∃ (x : V), x ∈ t ∧ f x ≠ 0
- -- We can use x₁ + x₀.
- refine' ⟨x₁ + x₀, _, _⟩
- · rw [Finset.mem_map] at x₁_mem
- rcases x₁_mem with ⟨x₁, x₁_mem, rfl⟩
- rw [mem_erase] at x₁_mem
- simp only [x₁_mem, sub_add_cancel, Function.Embedding.coeFn_mk]
- · dsimp only
- rwa [if_neg, add_sub_cancel]
- rw [add_left_eq_self]
- rintro rfl
- simp only [sub_eq_zero, exists_prop, Finset.mem_map, Embedding.coeFn_mk, eq_self_iff_true,
- mem_erase, not_true, exists_eq_right, Ne.def, false_and_iff] at x₁_mem
-#align finite_dimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card FiniteDimensional.exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card
-
section
variable {L : Type*} [LinearOrderedField L]
@@ -574,12 +294,14 @@ variable {W : Type v} [AddCommGroup W] [Module L W]
available when working over an ordered field:
we can ensure a positive coefficient, not just a nonzero coefficient.
-/
-theorem exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card [FiniteDimensional L W]
+theorem exists_relation_sum_zero_pos_coefficient_of_finrank_succ_lt_card [FiniteDimensional L W]
{t : Finset W} (h : finrank L W + 1 < t.card) :
∃ f : W → L, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, 0 < f x := by
- obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card h
+ obtain ⟨f, sum, total, nonzero⟩ :=
+ Module.exists_nontrivial_relation_sum_zero_of_finrank_succ_lt_card h
exact ⟨f, sum, total, exists_pos_of_sum_zero_of_exists_nonzero f total nonzero⟩
-#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card
+#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_finrank_succ_lt_card
+
end
@@ -589,8 +311,8 @@ end
@[simps repr_apply]
noncomputable def basisSingleton (ι : Type*) [Unique ι] (h : finrank K V = 1) (v : V)
(hv : v ≠ 0) : Basis ι K V :=
- let b := basisUnique ι h
- let h : b.repr v default ≠ 0 := mt basisUnique.repr_eq_zero_iff.mp hv
+ let b := FiniteDimensional.basisUnique ι h
+ let h : b.repr v default ≠ 0 := mt FiniteDimensional.basisUnique_repr_eq_zero_iff.mp hv
Basis.ofRepr
{ toFun := fun w => Finsupp.single default (b.repr w default / b.repr v default)
invFun := fun f => f default • v
@@ -632,26 +354,19 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
open FiniteDimensional
theorem finiteDimensional_of_rank_eq_nat {n : ℕ} (h : Module.rank K V = n) :
- FiniteDimensional K V := by
- rw [FiniteDimensional, ← IsNoetherian.iff_fg, IsNoetherian.iff_rank_lt_aleph0, h]
- exact nat_lt_aleph0 n
+ FiniteDimensional K V :=
+ Module.finite_of_rank_eq_nat h
#align finite_dimensional_of_rank_eq_nat finiteDimensional_of_rank_eq_nat
-- TODO: generalize to free modules over general rings.
theorem finiteDimensional_of_rank_eq_zero (h : Module.rank K V = 0) : FiniteDimensional K V :=
- finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_zero.symm
+ Module.finite_of_rank_eq_zero h
#align finite_dimensional_of_rank_eq_zero finiteDimensional_of_rank_eq_zero
theorem finiteDimensional_of_rank_eq_one (h : Module.rank K V = 1) : FiniteDimensional K V :=
- finiteDimensional_of_rank_eq_nat <| h.trans Nat.cast_one.symm
+ Module.finite_of_rank_eq_one h
#align finite_dimensional_of_rank_eq_one finiteDimensional_of_rank_eq_one
-theorem finrank_eq_zero_of_rank_eq_zero [FiniteDimensional K V] (h : Module.rank K V = 0) :
- finrank K V = 0 := by
- convert finrank_eq_rank K V
- rw [h]; norm_cast
-#align finrank_eq_zero_of_rank_eq_zero finrank_eq_zero_of_rank_eq_zero
-
variable (K V)
instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
@@ -660,27 +375,6 @@ instance finiteDimensional_bot : FiniteDimensional K (⊥ : Submodule K V) :=
variable {K V}
-theorem bot_eq_top_of_rank_eq_zero (h : Module.rank K V = 0) : (⊥ : Submodule K V) = ⊤ := by
- haveI : FiniteDimensional _ _ := finiteDimensional_of_rank_eq_zero h
- apply eq_top_of_finrank_eq
- rw [finrank_bot, finrank_eq_zero_of_rank_eq_zero h]
-#align bot_eq_top_of_rank_eq_zero bot_eq_top_of_rank_eq_zero
-
-@[simp]
-theorem rank_eq_zero {S : Submodule K V} : Module.rank K S = 0 ↔ S = ⊥ :=
- ⟨fun h =>
- (Submodule.eq_bot_iff _).2 fun x hx =>
- congr_arg Subtype.val <|
- ((Submodule.eq_bot_iff _).1 <| Eq.symm <| bot_eq_top_of_rank_eq_zero h) ⟨x, hx⟩
- Submodule.mem_top,
- fun h => by rw [h, rank_bot]⟩
-#align rank_eq_zero rank_eq_zero
-
-@[simp]
-theorem finrank_eq_zero {S : Submodule K V} [FiniteDimensional K S] : finrank K S = 0 ↔ S = ⊥ := by
- rw [← rank_eq_zero, ← finrank_eq_rank, ← @Nat.cast_zero Cardinal, Cardinal.natCast_inj]
-#align finrank_eq_zero finrank_eq_zero
-
end ZeroRank
namespace Submodule
@@ -826,7 +520,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
instance finiteDimensional_finsupp {ι : Type*} [Finite ι] [FiniteDimensional K V] :
FiniteDimensional K (ι →₀ V) :=
- (Finsupp.linearEquivFunOnFinite K V ι).symm.finiteDimensional
+ Module.Finite.finsupp
#align finite_dimensional_finsupp finiteDimensional_finsupp
end
@@ -1080,7 +774,7 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
theorem finrank_zero_iff_forall_zero [FiniteDimensional K V] : finrank K V = 0 ↔ ∀ x : V, x = 0 :=
- finrank_zero_iff.trans (subsingleton_iff_forall_eq 0)
+ FiniteDimensional.finrank_zero_iff.trans (subsingleton_iff_forall_eq 0)
#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zero
/-- If `ι` is an empty type and `V` is zero-dimensional, there is a unique `ι`-indexed basis. -/
@@ -1105,7 +799,7 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
· rw [h, finrank_bot, add_zero, H] at this
exact eq_top_of_finrank_eq this
· rw [h, finrank_top, H] at this
- exact finrank_eq_zero.1 (add_right_injective _ this)
+ exact Submodule.finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
@@ -1334,7 +1028,7 @@ theorem finrank_eq_one_iff (ι : Type*) [Unique ι] : finrank K V = 1 ↔ Nonemp
constructor
· intro h
haveI := finiteDimensional_of_finrank (_root_.zero_lt_one.trans_le h.symm.le)
- exact ⟨basisUnique ι h⟩
+ exact ⟨FiniteDimensional.basisUnique ι h⟩
· rintro ⟨b⟩
simpa using finrank_eq_card_basis b
#align finrank_eq_one_iff finrank_eq_one_iff
This is just a repackaging of existing lemmas, except that the correct name is already taken by the Set
version, so we fix that too.
From LeanAPAP
@@ -299,18 +299,18 @@ theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v
apply Cardinal.nat_lt_aleph0
#align finite_dimensional.lt_aleph_0_of_linear_independent FiniteDimensional.lt_aleph0_of_linearIndependent
-theorem _root_.LinearIndependent.finite [FiniteDimensional K V] {b : Set V}
+lemma _root_.LinearIndependent.finite {ι : Type*} [FiniteDimensional K V] {f : ι → V}
+ (h : LinearIndependent K f) : Finite ι :=
+ Cardinal.lt_aleph0_iff_finite.1 <| FiniteDimensional.lt_aleph0_of_linearIndependent h
+
+theorem not_linearIndependent_of_infinite {ι : Type*} [Infinite ι] [FiniteDimensional K V]
+ (v : ι → V) : ¬LinearIndependent K v := mt LinearIndependent.finite <| @not_finite _ _
+#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
+
+theorem _root_.LinearIndependent.setFinite [FiniteDimensional K V] {b : Set V}
(h : LinearIndependent K fun x : b => (x : V)) : b.Finite :=
Cardinal.lt_aleph0_iff_set_finite.mp (FiniteDimensional.lt_aleph0_of_linearIndependent h)
-#align linear_independent.finite LinearIndependent.finite
-
-theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [FiniteDimensional K V]
- (v : ι → V) : ¬LinearIndependent K v := by
- intro h_lin_indep
- have : ¬ℵ₀ ≤ #ι := not_le.mpr (lt_aleph0_of_linearIndependent h_lin_indep)
- have : ℵ₀ ≤ #ι := infinite_iff.mp inf
- contradiction
-#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
+#align linear_independent.finite LinearIndependent.setFinite
/-- A finite dimensional space has positive `finrank` iff it has a nonzero element. -/
theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V ↔ ∃ x : V, x ≠ 0 :=
eq_of_le_of_finrank_{le|eq}
(#8873)
IntermediateField.eq_of_le_of_finrank_{le|eq}
: the condition FiniteDimensional K L
is generalized to FiniteDimensional K E
(credits: @riccardobrasca)IntermediateField.eq_of_le_of_finrank_{le|eq}'
: the condition FiniteDimensional K L
is generalized to FiniteDimensional F L
(original proof credits: @riccardobrasca)Subalgebra.eq_of_le_of_finrank_{le|eq}
IntermediateField.extendScalars
and its basic properties@@ -838,6 +838,8 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
+/-- If a submodule is contained in a finite-dimensional
+submodule with the same or smaller dimension, they are equal. -/
theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₂ ≤ finrank K S₁) : S₁ = S₂ := by
rw [← LinearEquiv.finrank_eq (Submodule.comapSubtypeEquivOfLe hle)] at hd
@@ -845,13 +847,31 @@ theorem eq_of_le_of_finrank_le {S₁ S₂ : Submodule K V} [FiniteDimensional K
(eq_top_of_finrank_eq (le_antisymm (comap (Submodule.subtype S₂) S₁).finrank_le hd)))
#align finite_dimensional.eq_of_le_of_finrank_le FiniteDimensional.eq_of_le_of_finrank_le
-/-- If a submodule is less than or equal to a finite-dimensional
+/-- If a submodule is contained in a finite-dimensional
submodule with the same dimension, they are equal. -/
theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K S₂] (hle : S₁ ≤ S₂)
(hd : finrank K S₁ = finrank K S₂) : S₁ = S₂ :=
eq_of_le_of_finrank_le hle hd.ge
#align finite_dimensional.eq_of_le_of_finrank_eq FiniteDimensional.eq_of_le_of_finrank_eq
+section Subalgebra
+
+variable {K L : Type*} [Field K] [Ring L] [Algebra K L] {F E : Subalgebra K L}
+ [hfin : FiniteDimensional K E] (h_le : F ≤ E)
+
+/-- If a subalgebra is contained in a finite-dimensional
+subalgebra with the same or smaller dimension, they are equal. -/
+theorem _root_.Subalgebra.eq_of_le_of_finrank_le (h_finrank : finrank K E ≤ finrank K F) : F = E :=
+ haveI : Module.Finite K (Subalgebra.toSubmodule E) := hfin
+ Subalgebra.toSubmodule_injective <| FiniteDimensional.eq_of_le_of_finrank_le h_le h_finrank
+
+/-- If a subalgebra is contained in a finite-dimensional
+subalgebra with the same dimension, they are equal. -/
+theorem _root_.Subalgebra.eq_of_le_of_finrank_eq (h_finrank : finrank K F = finrank K E) : F = E :=
+ Subalgebra.eq_of_le_of_finrank_le h_le h_finrank.ge
+
+end Subalgebra
+
variable [FiniteDimensional K V] [FiniteDimensional K V₂]
/-- Given isomorphic subspaces `p q` of vector spaces `V` and `V₁` respectively,
[@foo](https://github.com/foo) _ _ _ _ _ ...
by named arguments (#8702)
Using Lean4's named arguments, we manage to remove a few hard-to-read explicit function calls [@foo](https://github.com/foo) _ _ _ _ _ ...
which used to be necessary in Lean3.
Occasionally, this results in slightly longer code. The benefit of named arguments is readability, as well as to reduce the brittleness of the code when the argument order is changed.
Co-authored-by: Michael Rothgang <rothgami@math.hu-berlin.de>
@@ -324,10 +324,8 @@ theorem finrank_pos_iff_exists_ne_zero [FiniteDimensional K V] : 0 < finrank K V
/-- A finite dimensional space has positive `finrank` iff it is nontrivial. -/
theorem finrank_pos_iff [FiniteDimensional K V] : 0 < finrank K V ↔ Nontrivial V :=
Iff.trans
- (by
- rw [← finrank_eq_rank]
- norm_cast)
- (@rank_pos_iff_nontrivial K V _ _ _ _ _)
+ (by rw [← finrank_eq_rank]; norm_cast)
+ (rank_pos_iff_nontrivial (R := K))
#align finite_dimensional.finrank_pos_iff FiniteDimensional.finrank_pos_iff
/-- A nontrivial finite dimensional space has positive `finrank`. -/
@@ -339,10 +337,8 @@ theorem finrank_pos [FiniteDimensional K V] [h : Nontrivial V] : 0 < finrank K V
This is the `finrank` version of `rank_zero_iff`. -/
theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingleton V :=
Iff.trans
- (by
- rw [← finrank_eq_rank]
- norm_cast)
- (@rank_zero_iff K V _ _ _ _ _)
+ (by rw [← finrank_eq_rank]; norm_cast)
+ (rank_zero_iff (R := K))
#align finite_dimensional.finrank_zero_iff FiniteDimensional.finrank_zero_iff
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
@@ -352,7 +348,7 @@ theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submo
haveI : IsNoetherian K V := iff_fg.2 inferInstance
set bS := Basis.ofVectorSpace K S with bS_eq
have : LinearIndependent K ((↑) : ((↑) '' Basis.ofVectorSpaceIndex K S : Set V) → V) :=
- @LinearIndependent.image_subtype _ _ _ _ _ _ _ _ _ (Submodule.subtype S)
+ LinearIndependent.image_subtype (f := Submodule.subtype S)
(by simpa using bS.linearIndependent) (by simp)
set b := Basis.extend this with b_eq
-- porting note: `letI` now uses `this` so we need to give different names
exact_mod_cast
tactic with mod_cast
elaborator where possible (#8404)
We still have the exact_mod_cast
tactic, used in a few places, which somehow (?) works a little bit harder to prevent the expected type influencing the elaboration of the term. I would like to get to the bottom of this, and it will be easier once the only usages of exact_mod_cast
are the ones that don't work using the term elaborator by itself.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -762,7 +762,7 @@ theorem finrank_quotient_add_finrank [FiniteDimensional K V] (s : Submodule K V)
finrank K (V ⧸ s) + finrank K s = finrank K V := by
have := rank_quotient_add_rank s
rw [← finrank_eq_rank, ← finrank_eq_rank, ← finrank_eq_rank] at this
- exact_mod_cast this
+ exact mod_cast this
#align submodule.finrank_quotient_add_finrank Submodule.finrank_quotient_add_finrank
/-- The dimension of a strict submodule is strictly bounded by the dimension of the ambient
@@ -922,6 +922,13 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
this).injective⟩
#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjective
+lemma injOn_iff_surjOn {p : Submodule K V} [FiniteDimensional K p]
+ {f : V →ₗ[K] V} (h : ∀ x ∈ p, f x ∈ p) :
+ Set.InjOn f p ↔ Set.SurjOn f p p := by
+ rw [Set.injOn_iff_injective, ← Set.MapsTo.restrict_surjective_iff h]
+ change Injective (f.domRestrict p) ↔ Surjective (f.restrict h)
+ simp [disjoint_iff, ← injective_iff_surjective]
+
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
LinearMap.ker f = ⊥ ↔ LinearMap.range f = ⊤ := by
rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
@@ -959,6 +966,37 @@ theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V
exact Submodule.finrank_quotient_add_finrank _
#align linear_map.finrank_range_add_finrank_ker LinearMap.finrank_range_add_finrank_ker
+theorem comap_eq_sup_ker_of_disjoint {p : Submodule K V} [FiniteDimensional K p] {f : V →ₗ[K] V}
+ (h : ∀ x ∈ p, f x ∈ p) (h' : Disjoint p (ker f)) :
+ p.comap f = p ⊔ ker f := by
+ refine le_antisymm (fun x hx ↦ ?_) (sup_le_iff.mpr ⟨h, ker_le_comap _⟩)
+ obtain ⟨⟨y, hy⟩, hxy⟩ :=
+ surjective_of_injective ((injective_restrict_iff_disjoint h).mpr h') ⟨f x, hx⟩
+ replace hxy : f y = f x := by simpa [Subtype.ext_iff] using hxy
+ exact Submodule.mem_sup.mpr ⟨y, hy, x - y, by simp [hxy], add_sub_cancel'_right y x⟩
+
+theorem ker_comp_eq_of_commute_of_disjoint_ker [FiniteDimensional K V] {f g : V →ₗ[K] V}
+ (h : Commute f g) (h' : Disjoint (ker f) (ker g)) :
+ ker (f ∘ₗ g) = ker f ⊔ ker g := by
+ suffices ∀ x, f x = 0 → f (g x) = 0 by rw [ker_comp, comap_eq_sup_ker_of_disjoint _ h']; simpa
+ intro x hx
+ rw [← comp_apply, ← mul_eq_comp, h.eq, mul_apply, hx, _root_.map_zero]
+
+theorem ker_noncommProd_eq_of_supIndep_ker [FiniteDimensional K V] {ι : Type*} {f : ι → V →ₗ[K] V}
+ (s : Finset ι) (comm) (h : s.SupIndep fun i ↦ ker (f i)) :
+ ker (s.noncommProd f comm) = ⨆ i ∈ s, ker (f i) := by
+ classical
+ induction' s using Finset.induction_on with i s hi ih; simpa using LinearMap.ker_id
+ replace ih : ker (Finset.noncommProd s f <| Set.Pairwise.mono (s.subset_insert i) comm) =
+ ⨆ x ∈ s, ker (f x) := ih _ (h.subset (s.subset_insert i))
+ rw [Finset.noncommProd_insert_of_not_mem _ _ _ _ hi, mul_eq_comp,
+ ker_comp_eq_of_commute_of_disjoint_ker]
+ · simp_rw [Finset.mem_insert_coe, iSup_insert, Finset.mem_coe, ih]
+ · exact s.noncommProd_commute _ _ _ fun j hj ↦
+ comm (s.mem_insert_self i) (Finset.mem_insert_of_mem hj) (by aesop)
+ · replace h := Finset.supIndep_iff_disjoint_erase.mp h i (s.mem_insert_self i)
+ simpa [ih, hi, Finset.sup_eq_iSup] using h
+
end DivisionRing
end LinearMap
@@ -1166,7 +1166,7 @@ lemma exists_smul_eq_of_finrank_eq_one
apply eq_top_of_finrank_eq
rw [h]
exact finrank_span_singleton hx
- have : y ∈ Submodule.span K {x} := by rw [this]; trivial
+ have : y ∈ Submodule.span K {x} := by rw [this]; exact mem_top
exact mem_span_singleton.1 this
theorem Set.finrank_mono [FiniteDimensional K V] {s t : Set V} (h : s ⊆ t) :
@@ -1182,11 +1182,7 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type*} [hι :
[Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
(card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ := by
by_cases fin : FiniteDimensional K V
- · -- Porting note: fails without this line
- -- This will presumably be fixed by the changes discussed at
- -- https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.232894/near/342121059
- replace fin : FiniteDimensional _ _ := fin
- by_contra ne_top
+ · by_contra ne_top
have lt_top : span K (Set.range b) < ⊤ := lt_of_le_of_ne le_top ne_top
exact ne_of_lt (Submodule.finrank_lt lt_top)
(_root_.trans (finrank_span_eq_card lin_ind) card_eq)
@@ -1381,8 +1381,8 @@ theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
Iff.rfl
#align subalgebra.finite_dimensional_to_submodule Subalgebra.finiteDimensional_toSubmodule
-alias Subalgebra.finiteDimensional_toSubmodule ↔
- FiniteDimensional.of_subalgebra_toSubmodule FiniteDimensional.subalgebra_toSubmodule
+alias ⟨FiniteDimensional.of_subalgebra_toSubmodule, FiniteDimensional.subalgebra_toSubmodule⟩ :=
+ Subalgebra.finiteDimensional_toSubmodule
#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmodule
#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmodule
@@ -1442,10 +1442,10 @@ theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
Subalgebra.finrank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_finrank_eq_one Subalgebra.bot_eq_top_iff_finrank_eq_one
-alias Subalgebra.bot_eq_top_iff_rank_eq_one ↔ _ Subalgebra.bot_eq_top_of_rank_eq_one
+alias ⟨_, Subalgebra.bot_eq_top_of_rank_eq_one⟩ := Subalgebra.bot_eq_top_iff_rank_eq_one
#align subalgebra.bot_eq_top_of_rank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
-alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_finrank_eq_one
+alias ⟨_, Subalgebra.bot_eq_top_of_finrank_eq_one⟩ := Subalgebra.bot_eq_top_iff_finrank_eq_one
#align subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_finrank_eq_one
attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
@@ -1157,6 +1157,18 @@ theorem finrank_span_singleton {v : V} (hv : v ≠ 0) : finrank K (K ∙ v) = 1
simp [hv]
#align finrank_span_singleton finrank_span_singleton
+/-- In a one-dimensional space, any vector is a multiple of any nonzero vector -/
+lemma exists_smul_eq_of_finrank_eq_one
+ (h : finrank K V = 1) {x : V} (hx : x ≠ 0) (y : V) :
+ ∃ (c : K), c • x = y := by
+ have : Submodule.span K {x} = ⊤ := by
+ have : FiniteDimensional K V := finiteDimensional_of_finrank (zero_lt_one.trans_le h.symm.le)
+ apply eq_top_of_finrank_eq
+ rw [h]
+ exact finrank_span_singleton hx
+ have : y ∈ Submodule.span K {x} := by rw [this]; trivial
+ exact mem_span_singleton.1 this
+
theorem Set.finrank_mono [FiniteDimensional K V] {s t : Set V} (h : s ⊆ t) :
s.finrank K ≤ t.finrank K :=
Submodule.finrank_mono (span_mono h)
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -84,7 +84,7 @@ open Cardinal Submodule Module Function
/-- `FiniteDimensional` vector spaces are defined to be finite modules.
Use `FiniteDimensional.of_fintype_basis` to prove finite dimension from another definition. -/
@[reducible]
-def FiniteDimensional (K V : Type _) [DivisionRing K] [AddCommGroup V] [Module K V] :=
+def FiniteDimensional (K V : Type*) [DivisionRing K] [AddCommGroup V] [Module K V] :=
Module.Finite K V
#align finite_dimensional FiniteDimensional
@@ -114,11 +114,11 @@ theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [Finite
variable (K V)
-instance finiteDimensional_pi {ι : Type _} [Finite ι] : FiniteDimensional K (ι → K) :=
+instance finiteDimensional_pi {ι : Type*} [Finite ι] : FiniteDimensional K (ι → K) :=
iff_fg.1 isNoetherian_pi
#align finite_dimensional.finite_dimensional_pi FiniteDimensional.finiteDimensional_pi
-instance finiteDimensional_pi' {ι : Type _} [Finite ι] (M : ι → Type _) [∀ i, AddCommGroup (M i)]
+instance finiteDimensional_pi' {ι : Type*} [Finite ι] (M : ι → Type*) [∀ i, AddCommGroup (M i)]
[∀ i, Module K (M i)] [I : ∀ i, FiniteDimensional K (M i)] : FiniteDimensional K (∀ i, M i) :=
haveI : ∀ i : ι, IsNoetherian K (M i) := fun i => iff_fg.2 (I i)
iff_fg.1 isNoetherian_pi
@@ -147,7 +147,7 @@ theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDi
#align finite_dimensional.of_fintype_basis FiniteDimensional.of_fintype_basis
/-- If a vector space is `FiniteDimensional`, all bases are indexed by a finite type -/
-noncomputable def fintypeBasisIndex {ι : Type _} [FiniteDimensional K V] (b : Basis ι K V) :
+noncomputable def fintypeBasisIndex {ι : Type*} [FiniteDimensional K V] (b : Basis ι K V) :
Fintype ι :=
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
IsNoetherian.fintypeBasisIndex b
@@ -232,7 +232,7 @@ theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis
#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'
/-- Given a basis of a division ring over itself indexed by a type `ι`, then `ι` is `Unique`. -/
-noncomputable def _root_.Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι := by
+noncomputable def _root_.Basis.unique {ι : Type*} (b : Basis ι K K) : Unique ι := by
have A : Cardinal.mk ι = ↑(FiniteDimensional.finrank K K) :=
(FiniteDimensional.finrank_eq_card_basis' b).symm
-- porting note: replace `algebraMap.coe_one` with `Nat.cast_one`
@@ -258,14 +258,14 @@ noncomputable def finBasisOfFinrankEq [FiniteDimensional K V] {n : ℕ} (hn : fi
variable {K V}
/-- A module with dimension 1 has a basis with one element. -/
-noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) : Basis ι K V :=
+noncomputable def basisUnique (ι : Type*) [Unique ι] (h : finrank K V = 1) : Basis ι K V :=
haveI : FiniteDimensional _ _ :=
finiteDimensional_of_finrank (_root_.zero_lt_one.trans_le h.symm.le)
(finBasisOfFinrankEq K V h).reindex (Equiv.equivOfUnique _ _)
#align finite_dimensional.basis_unique FiniteDimensional.basisUnique
@[simp]
-theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
+theorem basisUnique.repr_eq_zero_iff {ι : Type*} [Unique ι] {h : finrank K V = 1} {v : V} {i : ι} :
(basisUnique ι h).repr v i = 0 ↔ v = 0 :=
⟨fun hv =>
(basisUnique ι h).repr.map_eq_zero_iff.mp (Finsupp.ext fun j => Subsingleton.elim i j ▸ hv),
@@ -279,7 +279,7 @@ theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι
cardinal_lift_le_rank_of_linearIndependent h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
-theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type _}
+theorem fintype_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type*}
[Fintype ι] {b : ι → V} (h : LinearIndependent K b) : Fintype.card ι ≤ finrank K V := by
simpa using cardinal_mk_le_finrank_of_linearIndependent h
#align finite_dimensional.fintype_card_le_finrank_of_linear_independent FiniteDimensional.fintype_card_le_finrank_of_linearIndependent
@@ -570,7 +570,7 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
section
-variable {L : Type _} [LinearOrderedField L]
+variable {L : Type*} [LinearOrderedField L]
variable {W : Type v} [AddCommGroup W] [Module L W]
@@ -591,7 +591,7 @@ end
/-- In a vector space with dimension 1, each set {v} is a basis for `v ≠ 0`. -/
@[simps repr_apply]
-noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
+noncomputable def basisSingleton (ι : Type*) [Unique ι] (h : finrank K V = 1) (v : V)
(hv : v ≠ 0) : Basis ι K V :=
let b := basisUnique ι h
let h : b.repr v default ≠ 0 := mt basisUnique.repr_eq_zero_iff.mp hv
@@ -614,14 +614,14 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
@[simp]
-theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
+theorem basisSingleton_apply (ι : Type*) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
(i : ι) : basisSingleton ι h v hv i = v := by
cases Unique.uniq ‹Unique ι› i
simp [basisSingleton]
#align finite_dimensional.basis_singleton_apply FiniteDimensional.basisSingleton_apply
@[simp]
-theorem range_basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0) :
+theorem range_basisSingleton (ι : Type*) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0) :
Set.range (basisSingleton ι h v hv) = {v} := by rw [Set.range_unique, basisSingleton_apply]
#align finite_dimensional.range_basis_singleton FiniteDimensional.range_basisSingleton
@@ -738,7 +738,7 @@ finite-dimensional.
Note that strictly this only needs `∀ i ∈ s, FiniteDimensional K (S i)`, but that doesn't
work well with typeclass search. -/
-instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι → Submodule K V)
+instance finiteDimensional_finset_sup {ι : Type*} (s : Finset ι) (S : ι → Submodule K V)
[∀ i, FiniteDimensional K (S i)] : FiniteDimensional K (s.sup S : Submodule K V) := by
refine'
@Finset.sup_induction _ _ _ _ s S (fun i => FiniteDimensional K ↑i) (finiteDimensional_bot K V)
@@ -749,7 +749,7 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
sort is finite-dimensional. -/
-instance finiteDimensional_iSup {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
+instance finiteDimensional_iSup {ι : Sort*} [Finite ι] (S : ι → Submodule K V)
[∀ i, FiniteDimensional K (S i)] : FiniteDimensional K ↑(⨆ i, S i) := by
cases nonempty_fintype (PLift ι)
rw [← iSup_plift_down, ← Finset.sup_univ_eq_iSup]
@@ -818,7 +818,7 @@ protected theorem finiteDimensional (f : V ≃ₗ[K] V₂) [FiniteDimensional K
Module.Finite.equiv f
#align linear_equiv.finite_dimensional LinearEquiv.finiteDimensional
-variable {R M M₂ : Type _} [Ring R] [AddCommGroup M] [AddCommGroup M₂]
+variable {R M M₂ : Type*} [Ring R] [AddCommGroup M] [AddCommGroup M₂]
variable [Module R M] [Module R M₂]
@@ -828,7 +828,7 @@ section
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-instance finiteDimensional_finsupp {ι : Type _} [Finite ι] [FiniteDimensional K V] :
+instance finiteDimensional_finsupp {ι : Type*} [Finite ι] [FiniteDimensional K V] :
FiniteDimensional K (ι →₀ V) :=
(Finsupp.linearEquivFunOnFinite K V ι).symm.finiteDimensional
#align finite_dimensional_finsupp finiteDimensional_finsupp
@@ -1030,7 +1030,7 @@ theorem finrank_zero_iff_forall_zero [FiniteDimensional K V] : finrank K V = 0
#align finrank_zero_iff_forall_zero finrank_zero_iff_forall_zero
/-- If `ι` is an empty type and `V` is zero-dimensional, there is a unique `ι`-indexed basis. -/
-noncomputable def basisOfFinrankZero [FiniteDimensional K V] {ι : Type _} [IsEmpty ι]
+noncomputable def basisOfFinrankZero [FiniteDimensional K V] {ι : Type*} [IsEmpty ι]
(hV : finrank K V = 0) : Basis ι K V :=
haveI : Subsingleton V := finrank_zero_iff.1 hV
Basis.empty _
@@ -1080,14 +1080,14 @@ end LinearMap
section
-lemma FiniteDimensional.exists_mul_eq_one (F : Type _) {K : Type _} [Field F] [Ring K] [IsDomain K]
+lemma FiniteDimensional.exists_mul_eq_one (F : Type*) {K : Type*} [Field F] [Ring K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] {x : K} (H : x ≠ 0) : ∃ y, x * y = 1 := by
have : Function.Surjective (LinearMap.mulLeft F x) :=
LinearMap.injective_iff_surjective.1 fun y z => ((mul_right_inj' H).1 : x * y = x * z → y = z)
exact this 1
/-- A domain that is module-finite as an algebra over a field is a division ring. -/
-noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [h : Ring K] [IsDomain K]
+noncomputable def divisionRingOfFiniteDimensional (F K : Type*) [Field F] [h : Ring K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
{ ‹IsDomain K› with
toRing := h
@@ -1102,7 +1102,7 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [h :
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
-noncomputable def fieldOfFiniteDimensional (F K : Type _) [Field F] [h : CommRing K] [IsDomain K]
+noncomputable def fieldOfFiniteDimensional (F K : Type*) [Field F] [h : CommRing K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : Field K :=
{ divisionRingOfFiniteDimensional F K with
toCommRing := h }
@@ -1166,7 +1166,7 @@ end Span
section Basis
-theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι : Nonempty ι]
+theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type*} [hι : Nonempty ι]
[Fintype ι] {b : ι → V} (lin_ind : LinearIndependent K b)
(card_eq : Fintype.card ι = finrank K V) : span K (Set.range b) = ⊤ := by
by_cases fin : FiniteDimensional K V
@@ -1189,14 +1189,14 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
/-- A linear independent family of `finrank K V` vectors forms a basis. -/
@[simps! repr_apply]
-noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
+noncomputable def basisOfLinearIndependentOfCardEqFinrank {ι : Type*} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
Basis ι K V :=
Basis.mk lin_ind <| (span_eq_top_of_linearIndependent_of_card_eq_finrank lin_ind card_eq).ge
#align basis_of_linear_independent_of_card_eq_finrank basisOfLinearIndependentOfCardEqFinrank
@[simp]
-theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type _} [Nonempty ι] [Fintype ι]
+theorem coe_basisOfLinearIndependentOfCardEqFinrank {ι : Type*} [Nonempty ι] [Fintype ι]
{b : ι → V} (lin_ind : LinearIndependent K b) (card_eq : Fintype.card ι = finrank K V) :
⇑(basisOfLinearIndependentOfCardEqFinrank lin_ind card_eq) = b :=
Basis.coe_mk _ _
@@ -1268,7 +1268,7 @@ theorem finrank_eq_one_iff_of_nonzero' (v : V) (nz : v ≠ 0) :
/-- A module has dimension 1 iff there is some `v : V` so `{v}` is a basis.
-/
-theorem finrank_eq_one_iff (ι : Type _) [Unique ι] : finrank K V = 1 ↔ Nonempty (Basis ι K V) := by
+theorem finrank_eq_one_iff (ι : Type*) [Unique ι] : finrank K V = 1 ↔ Nonempty (Basis ι K V) := by
constructor
· intro h
haveI := finiteDimensional_of_finrank (_root_.zero_lt_one.trans_le h.symm.le)
@@ -1321,7 +1321,7 @@ theorem Module.finrank_le_one_iff_top_isPrincipal [FiniteDimensional K V] :
-- We use the `LinearMap.CompatibleSMul` typeclass here, to encompass two situations:
-- * `A = K`
-- * `[Field K] [Algebra K A] [IsScalarTower K A V] [IsScalarTower K A W]`
-theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type _} [Semiring A] [Module A V]
+theorem surjective_of_nonzero_of_finrank_eq_one {W A : Type*} [Semiring A] [Module A V]
[AddCommGroup W] [Module K W] [Module A W] [LinearMap.CompatibleSMul V W K A]
(h : finrank K W = 1) {f : V →ₗ[A] W} (w : f ≠ 0) : Surjective f := by
change Surjective (f.restrictScalars K)
@@ -1350,7 +1350,7 @@ section SubalgebraRank
open Module
-variable {F E : Type _} [Field F] [Ring E] [Algebra F E]
+variable {F E : Type*} [Field F] [Ring E] [Algebra F E]
/-
porting note:
The lemma is a perfect duplicate of Submodule.eq_top_of_finrank_eq
.
@@ -347,7 +347,7 @@ theorem finrank_zero_iff [FiniteDimensional K V] : finrank K V = 0 ↔ Subsingle
/-- If a submodule has maximal dimension in a finite dimensional space, then it is equal to the
whole space. -/
-theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
+theorem _root_.Submodule.eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
(h : finrank K S = finrank K V) : S = ⊤ := by
haveI : IsNoetherian K V := iff_fg.2 inferInstance
set bS := Basis.ofVectorSpace K S with bS_eq
@@ -372,7 +372,8 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
have := bS.span_eq
rw [bS_eq, Basis.coe_ofVectorSpace, Subtype.range_coe] at this
rw [this, map_top (Submodule.subtype S), range_subtype]
-#align finite_dimensional.eq_top_of_finrank_eq FiniteDimensional.eq_top_of_finrank_eq
+#align finite_dimensional.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
+#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
variable (K)
@@ -1115,11 +1116,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
- (h : finrank K S = finrank K V) : S = ⊤ :=
- FiniteDimensional.eq_of_le_of_finrank_eq le_top (by simp [h, finrank_top])
-#align submodule.eq_top_of_finrank_eq Submodule.eq_top_of_finrank_eq
-
theorem finrank_mono [FiniteDimensional K V] : Monotone fun s : Submodule K V => finrank K s :=
fun _ _ => finrank_le_finrank_of_le
#align submodule.finrank_mono Submodule.finrank_mono
@@ -1342,7 +1338,7 @@ theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K
refine' ⟨fun S => or_iff_not_imp_left.2 fun hn => _⟩
rw [← restrictScalars_inj K] at hn ⊢
haveI : FiniteDimensional _ _ := finiteDimensional_of_finrank_eq_succ h
- refine' Submodule.eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
+ refine' eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
simpa only [h, finrank_bot] using Submodule.finrank_strictMono (Ne.bot_lt hn)
#align is_simple_module_of_finrank_eq_one is_simple_module_of_finrank_eq_one
@@ -1460,7 +1456,7 @@ theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
· right
rw [← hr] at h
rw [← Algebra.toSubmodule_eq_top]
- exact Submodule.eq_top_of_finrank_eq h }
+ exact eq_top_of_finrank_eq h }
#align subalgebra.is_simple_order_of_finrank Subalgebra.isSimpleOrder_of_finrank
end SubalgebraRank
open Classical
(#6320)
This uncovers a few situations where a lemma was stated with the wrong decidability assumption. The corrected lemmas are strictly more syntactically-general.
This is exhaustive in the LinearAlgebra
folder.
Where removal is impractical, this switches to open Classical in
to make the intent clear.
@@ -79,7 +79,7 @@ equivalence is proved in `Submodule.fg_iff_finiteDimensional`.
universe u v v' w
-open Classical Cardinal Submodule Module Function
+open Cardinal Submodule Module Function
/-- `FiniteDimensional` vector spaces are defined to be finite modules.
Use `FiniteDimensional.of_fintype_basis` to prove finite dimension from another definition. -/
@@ -139,6 +139,7 @@ variable {K V}
/-- If a vector space has a finite basis, then it is finite-dimensional. -/
theorem of_fintype_basis {ι : Type w} [Finite ι] (h : Basis ι K V) : FiniteDimensional K V := by
+ classical
cases nonempty_fintype ι
exact ⟨⟨Finset.univ.image h, by
convert h.span_eq
@@ -446,6 +447,7 @@ then there is a nontrivial linear relation amongst its elements.
-/
theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t : Finset V}
(h : finrank K V < t.card) : ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
+ classical
have := mt finset_card_le_finrank_of_linearIndependent (by simpa using h)
rw [not_linearIndependent_iff] at this
obtain ⟨s, g, sum, z, zm, nonzero⟩ := this
@@ -486,6 +488,7 @@ such that the coefficients of the relation sum to zero.
theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensional K V]
{t : Finset V} (h : finrank K V + 1 < t.card) :
∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
+ classical
-- Pick an element x₀ ∈ t,
have card_pos : 0 < t.card := lt_trans (Nat.succ_pos _) h
obtain ⟨x₀, m⟩ := (Finset.card_pos.1 card_pos).bex
@@ -1087,10 +1090,11 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [h :
[Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
{ ‹IsDomain K› with
toRing := h
- inv := fun x => if H : x = 0 then 0 else Classical.choose <|
- FiniteDimensional.exists_mul_eq_one F H
+ inv := fun x =>
+ letI := Classical.decEq K
+ if H : x = 0 then 0 else Classical.choose <| FiniteDimensional.exists_mul_eq_one F H
mul_inv_cancel := fun x hx =>
- show x * dite _ _ _ = _ by
+ show x * dite _ (h := _) _ = _ by
rw [dif_neg hx]
exact (Classical.choose_spec (FiniteDimensional.exists_mul_eq_one F hx) :)
inv_zero := dif_pos rfl }
@@ -891,9 +891,9 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCom
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
- have h := rank_eq_of_injective _ hinj
+ have h := rank_range_of_injective _ hinj
rw [← finrank_eq_rank, ← finrank_eq_rank, natCast_inj] at h
- exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
+ exact range_eq_top.1 (eq_top_of_finrank_eq h)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
use
provide last constructor argument, introduce mathlib3-like flattening use!
(#5350)
Changes:
use
now by default discharges with try with_reducible use_discharger
with a custom discharger tactic rather than try with_reducible rfl
, which makes it be closer to exists
and the use
in mathlib3. It doesn't go so far as to do try with_reducible trivial
since that involves the contradiction
tactic.use (discharger := tacticSeq...)
use
evaluation loop will try refining after constructor failure, so it can be used to fill in all arguments rather than all but the last, like in mathlib3 (closes #5072) but with the caveat that it only works so long as the last argument is not an inductive type (like Eq
).use!
, which is nearly the same as the mathlib3 use
and fills in constructor arguments along the nodes and leaves of the nested constructor expressions. This version tries refining before applying constructors, so it can be used like exact
for the last argument.The difference between mathlib3 use
and this use!
is that (1) use!
uses a different tactic to discharge goals (mathlib3 used trivial'
, which did reducible refl, but also contradiction
, which we don't emulate) (2) it does not rewrite using exists_prop
. Regarding 2, this feature seems to be less useful now that bounded existentials encode the bound using a conjunction rather than with nested existentials. We do have exists_prop
as part of use_discharger
however.
Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
@@ -1302,7 +1302,7 @@ theorem finrank_le_one_iff [FiniteDimensional K V] :
· replace h' := zero_lt_iff.mpr h'
have : finrank K V = 1 := by linarith
obtain ⟨v, -, p⟩ := finrank_eq_one_iff'.mp this
- exact ⟨v, p⟩ -- porting note: was `use`
+ use v, p
· rintro ⟨v, p⟩
exact finrank_le_one v p
#align finrank_le_one_iff finrank_le_one_iff
@@ -2,11 +2,6 @@
Copyright (c) 2019 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 linear_algebra.finite_dimensional
-! leanprover-community/mathlib commit e95e4f92c8f8da3c7f693c3ec948bcf9b6683f51
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Algebra.Subalgebra.Basic
import Mathlib.FieldTheory.Finiteness
@@ -14,6 +9,8 @@ import Mathlib.LinearAlgebra.FreeModule.Finite.Rank
import Mathlib.Tactic.IntervalCases
import Mathlib.Tactic.ApplyCongr
+#align_import linear_algebra.finite_dimensional from "leanprover-community/mathlib"@"e95e4f92c8f8da3c7f693c3ec948bcf9b6683f51"
+
/-!
# Finite dimensional vector spaces
@@ -254,7 +254,7 @@ noncomputable def finBasis [FiniteDimensional K V] : Basis (Fin (finrank K V)) K
/-- An `n`-dimensional vector space has a basis indexed by `Fin n`. -/
noncomputable def finBasisOfFinrankEq [FiniteDimensional K V] {n : ℕ} (hn : finrank K V = n) :
Basis (Fin n) K V :=
- (finBasis K V).reindex (Fin.cast hn).toEquiv
+ (finBasis K V).reindex (Fin.castIso hn).toEquiv
#align finite_dimensional.fin_basis_of_finrank_eq FiniteDimensional.finBasisOfFinrankEq
variable {K V}
@@ -227,7 +227,7 @@ theorem finiteDimensional_iff_of_rank_eq_nsmul {W} [AddCommGroup W] [Module K W]
/-- If a vector space is finite-dimensional, then the cardinality of any basis is equal to its
`finrank`. -/
theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis ι K V) :
- (finrank K V : Cardinal.{w}) = (#ι) := by
+ (finrank K V : Cardinal.{w}) = #ι := by
haveI : IsNoetherian K V := iff_fg.2 inferInstance
haveI : Fintype ι := fintypeBasisIndex h
rw [Cardinal.mk_fintype, finrank_eq_card_basis h]
@@ -275,7 +275,7 @@ theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V
#align finite_dimensional.basis_unique.repr_eq_zero_iff FiniteDimensional.basisUnique.repr_eq_zero_iff
theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
- (h : LinearIndependent K b) : (#ι) ≤ finrank K V := by
+ (h : LinearIndependent K b) : #ι ≤ finrank K V := by
rw [← lift_le.{max v w}]
simpa [← finrank_eq_rank', -finrank_eq_rank] using
cardinal_lift_le_rank_of_linearIndependent h
@@ -293,7 +293,7 @@ theorem finset_card_le_finrank_of_linearIndependent [FiniteDimensional K V] {b :
#align finite_dimensional.finset_card_le_finrank_of_linear_independent FiniteDimensional.finset_card_le_finrank_of_linearIndependent
theorem lt_aleph0_of_linearIndependent {ι : Type w} [FiniteDimensional K V] {v : ι → V}
- (h : LinearIndependent K v) : (#ι) < ℵ₀ := by
+ (h : LinearIndependent K v) : #ι < ℵ₀ := by
apply Cardinal.lift_lt.1
apply lt_of_le_of_lt
apply cardinal_lift_le_rank_of_linearIndependent h
@@ -309,8 +309,8 @@ theorem _root_.LinearIndependent.finite [FiniteDimensional K V] {b : Set V}
theorem not_linearIndependent_of_infinite {ι : Type w} [inf : Infinite ι] [FiniteDimensional K V]
(v : ι → V) : ¬LinearIndependent K v := by
intro h_lin_indep
- have : ¬ℵ₀ ≤ (#ι) := not_le.mpr (lt_aleph0_of_linearIndependent h_lin_indep)
- have : ℵ₀ ≤ (#ι) := infinite_iff.mp inf
+ have : ¬ℵ₀ ≤ #ι := not_le.mpr (lt_aleph0_of_linearIndependent h_lin_indep)
+ have : ℵ₀ ≤ #ι := infinite_iff.mp inf
contradiction
#align finite_dimensional.not_linear_independent_of_infinite FiniteDimensional.not_linearIndependent_of_infinite
@@ -405,11 +405,11 @@ variable {K}
theorem _root_.CompleteLattice.Independent.subtype_ne_bot_le_finrank_aux [FiniteDimensional K V]
{ι : Type w} {p : ι → Submodule K V} (hp : CompleteLattice.Independent p) :
- (#{ i // p i ≠ ⊥ }) ≤ (finrank K V : Cardinal.{w}) := by
- suffices Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{v} (finrank K V : Cardinal.{w}) by
+ #{ i // p i ≠ ⊥ } ≤ (finrank K V : Cardinal.{w}) := by
+ suffices Cardinal.lift.{v} #{ i // p i ≠ ⊥ } ≤ Cardinal.lift.{v} (finrank K V : Cardinal.{w}) by
rwa [Cardinal.lift_le] at this
calc
- Cardinal.lift.{v} (#{ i // p i ≠ ⊥ }) ≤ Cardinal.lift.{w} (Module.rank K V) :=
+ Cardinal.lift.{v} #{ i // p i ≠ ⊥ } ≤ Cardinal.lift.{w} (Module.rank K V) :=
hp.subtype_ne_bot_le_rank
_ = Cardinal.lift.{w} (finrank K V : Cardinal.{v}) := by rw [finrank_eq_rank]
_ = Cardinal.lift.{v} (finrank K V : Cardinal.{w}) := by simp
@@ -420,7 +420,7 @@ number of nontrivial subspaces in the family `p` is finite. -/
noncomputable def _root_.CompleteLattice.Independent.fintypeNeBotOfFiniteDimensional
[FiniteDimensional K V] {ι : Type w} {p : ι → Submodule K V}
(hp : CompleteLattice.Independent p) : Fintype { i : ι // p i ≠ ⊥ } := by
- suffices (#{ i // p i ≠ ⊥ }) < (ℵ₀ : Cardinal.{w}) by
+ suffices #{ i // p i ≠ ⊥ } < (ℵ₀ : Cardinal.{w}) by
rw [Cardinal.lt_aleph0_iff_fintype] at this
exact this.some
refine' lt_of_le_of_lt hp.subtype_ne_bot_le_finrank_aux _
@@ -1542,17 +1542,17 @@ open Module
open Cardinal
theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K] [AddCommGroup V]
- [Module K V] [FiniteDimensional K V] : (#V) = (#K) ^ Module.rank K V := by
+ [Module K V] [FiniteDimensional K V] : #V = #K ^ Module.rank K V := by
let s := Basis.ofVectorSpaceIndex K V
let hs := Basis.ofVectorSpace K V
calc
- (#V) = (#s →₀ K) := Quotient.sound ⟨hs.repr.toEquiv⟩
- _ = (#s → K) := (Quotient.sound ⟨Finsupp.equivFunOnFinite⟩)
+ #V = #(s →₀ K) := Quotient.sound ⟨hs.repr.toEquiv⟩
+ _ = #(s → K) := (Quotient.sound ⟨Finsupp.equivFunOnFinite⟩)
_ = _ := by rw [← Cardinal.lift_inj.1 hs.mk_eq_rank, Cardinal.power_def]
#align cardinal_mk_eq_cardinal_mk_field_pow_rank cardinal_mk_eq_cardinal_mk_field_pow_rank
theorem cardinal_lt_aleph0_of_finiteDimensional (K V : Type u) [DivisionRing K] [AddCommGroup V]
- [Module K V] [Finite K] [FiniteDimensional K V] : (#V) < ℵ₀ := by
+ [Module K V] [Finite K] [FiniteDimensional K V] : #V < ℵ₀ := by
letI : IsNoetherian K V := IsNoetherian.iff_fg.2 inferInstance
rw [cardinal_mk_eq_cardinal_mk_field_pow_rank K V]
exact Cardinal.power_lt_aleph0 (Cardinal.lt_aleph0_of_finite K) (IsNoetherian.rank_lt_aleph0 K V)
∑'
precedence (#5615)
∑
, ∏
and variants).([^a-zA-Zα-ωΑ-Ω'𝓝ℳ₀𝕂ₛ)]) \(([∑∏][^()∑∏]*,[^()∑∏:]*)\) ([⊂⊆=<≤])
replaced by $1 $2 $3
@@ -448,7 +448,7 @@ open Finset
then there is a nontrivial linear relation amongst its elements.
-/
theorem exists_nontrivial_relation_of_rank_lt_card [FiniteDimensional K V] {t : Finset V}
- (h : finrank K V < t.card) : ∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
+ (h : finrank K V < t.card) : ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
have := mt finset_card_le_finrank_of_linearIndependent (by simpa using h)
rw [not_linearIndependent_iff] at this
obtain ⟨s, g, sum, z, zm, nonzero⟩ := this
@@ -488,7 +488,7 @@ such that the coefficients of the relation sum to zero.
-/
theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensional K V]
{t : Finset V} (h : finrank K V + 1 < t.card) :
- ∃ f : V → K, (∑ e in t, f e • e) = 0 ∧ (∑ e in t, f e) = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
+ ∃ f : V → K, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, f x ≠ 0 := by
-- Pick an element x₀ ∈ t,
have card_pos : 0 < t.card := lt_trans (Nat.succ_pos _) h
obtain ⟨x₀, m⟩ := (Finset.card_pos.1 card_pos).bex
@@ -579,7 +579,7 @@ we can ensure a positive coefficient, not just a nonzero coefficient.
-/
theorem exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card [FiniteDimensional L W]
{t : Finset W} (h : finrank L W + 1 < t.card) :
- ∃ f : W → L, (∑ e in t, f e • e) = 0 ∧ (∑ e in t, f e) = 0 ∧ ∃ x ∈ t, 0 < f x := by
+ ∃ f : W → L, ∑ e in t, f e • e = 0 ∧ ∑ e in t, f e = 0 ∧ ∃ x ∈ t, 0 < f x := by
obtain ⟨f, sum, total, nonzero⟩ := exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card h
exact ⟨f, sum, total, exists_pos_of_sum_zero_of_exists_nonzero f total nonzero⟩
#align finite_dimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card FiniteDimensional.exists_relation_sum_zero_pos_coefficient_of_rank_succ_lt_card
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -1339,7 +1339,7 @@ theorem is_simple_module_of_finrank_eq_one {A} [Semiring A] [Module A V] [SMul K
[IsScalarTower K A V] (h : finrank K V = 1) : IsSimpleOrder (Submodule A V) := by
haveI := nontrivial_of_finrank_eq_succ h
refine' ⟨fun S => or_iff_not_imp_left.2 fun hn => _⟩
- rw [← restrictScalars_inj K] at hn⊢
+ rw [← restrictScalars_inj K] at hn ⊢
haveI : FiniteDimensional _ _ := finiteDimensional_of_finrank_eq_succ h
refine' Submodule.eq_top_of_finrank_eq ((Submodule.finrank_le _).antisymm _)
simpa only [h, finrank_bot] using Submodule.finrank_strictMono (Ne.bot_lt hn)
Cardinal.lift_le
and Cardinal.lift_mk_le
(#5325)
Cardinal.lift_le
and Cardinal.lift_mk_le
have their universes out of order, in the sense that persistently through the rest of the library we need to specify the 2nd universe (resp 3rd), while the others are solved by unification.
This PR reorders the universes so it's easier to specify the thing you need to specify!
(This PR doesn't get rid of all the occurrences of \.\{_,
in the library, but I'd like to do that later.)
I do have a hidden agenda here, which is that I've been experimenting with solutions to the dreaded "Can't solve max u v = max v ?u
" universe unification issue (which is making life hellish forward porting https://github.com/leanprover-community/mathlib/pull/19153), and my favourite (but still hacky) solution doesn't like some of the occasions where we reference a lemma filling in some of its universe arguments with _
but then fully specify a later one. (e.g. rw [← lift_le.{_, max u v}, lift_lift, lift_mk_le.{_, _, v}]
in ModelTheory/Skolem.lean
). Hence the cleanup proposed in this PR makes my life easier working on these experiments. :-)
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -276,7 +276,7 @@ theorem basisUnique.repr_eq_zero_iff {ι : Type _} [Unique ι] {h : finrank K V
theorem cardinal_mk_le_finrank_of_linearIndependent [FiniteDimensional K V] {ι : Type w} {b : ι → V}
(h : LinearIndependent K b) : (#ι) ≤ finrank K V := by
- rw [← lift_le.{_, max v w}]
+ rw [← lift_le.{max v w}]
simpa [← finrank_eq_rank', -finrank_eq_rank] using
cardinal_lift_le_rank_of_linearIndependent h
#align finite_dimensional.cardinal_mk_le_finrank_of_linear_independent FiniteDimensional.cardinal_mk_le_finrank_of_linearIndependent
@@ -1079,27 +1079,32 @@ end LinearMap
section
+lemma FiniteDimensional.exists_mul_eq_one (F : Type _) {K : Type _} [Field F] [Ring K] [IsDomain K]
+ [Algebra F K] [FiniteDimensional F K] {x : K} (H : x ≠ 0) : ∃ y, x * y = 1 := by
+ have : Function.Surjective (LinearMap.mulLeft F x) :=
+ LinearMap.injective_iff_surjective.1 fun y z => ((mul_right_inj' H).1 : x * y = x * z → y = z)
+ exact this 1
+
/-- A domain that is module-finite as an algebra over a field is a division ring. -/
-noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring K] [IsDomain K]
+noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [h : Ring K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
- -- porting note: extracted from the fields below to a `haveI`
- haveI : ∀ x : K, x ≠ 0 → Function.Surjective (LinearMap.mulLeft F x) := fun x H =>
- LinearMap.injective_iff_surjective.1 fun y z => ((mul_right_inj' H).1 : x * y = x * z → y = z)
- { ‹IsDomain K›, ‹Ring K› with
- inv := fun x => if H : x = 0 then 0 else Classical.choose <| (this _ H) 1
+ { ‹IsDomain K› with
+ toRing := h
+ inv := fun x => if H : x = 0 then 0 else Classical.choose <|
+ FiniteDimensional.exists_mul_eq_one F H
mul_inv_cancel := fun x hx =>
show x * dite _ _ _ = _ by
rw [dif_neg hx]
- exact (Classical.choose_spec (this _ hx 1) :)
+ exact (Classical.choose_spec (FiniteDimensional.exists_mul_eq_one F hx) :)
inv_zero := dif_pos rfl }
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
-noncomputable def fieldOfFiniteDimensional (F K : Type _) [Field F] [CommRing K] [IsDomain K]
+noncomputable def fieldOfFiniteDimensional (F K : Type _) [Field F] [h : CommRing K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : Field K :=
- { divisionRingOfFiniteDimensional F K, ‹CommRing K› with }
+ { divisionRingOfFiniteDimensional F K with
+ toCommRing := h }
#align field_of_finite_dimensional fieldOfFiniteDimensional
-
end
namespace Submodule
@@ -504,7 +504,7 @@ theorem exists_nontrivial_relation_sum_zero_of_rank_succ_lt_card [FiniteDimensio
-- and setting the value of `f` at `x₀` to ensure `∑ e in t, f e = 0`.
let f : V → K := fun z => if z = x₀ then -∑ z in t.erase x₀, g (z - x₀) else g (z - x₀)
refine' ⟨f, _, _, _⟩
- -- After this, it's a matter of verifiying the properties,
+ -- After this, it's a matter of verifying the properties,
-- based on the corresponding properties for `g`.
· show (∑ e : V in t, f e • e) = 0
-- We prove this by splitting off the `x₀` term of the sum,
@@ -970,7 +970,7 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
variable [FiniteDimensional K V]
-/-- The linear equivalence corresponging to an injective endomorphism. -/
+/-- The linear equivalence corresponding to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
LinearEquiv.ofBijective f ⟨h_inj, LinearMap.injective_iff_surjective.mp h_inj⟩
#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndo
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Alex J Best <alex.j.best@gmail.com>
@@ -606,8 +606,7 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
RingHom.id_apply, smul_eq_mul, Pi.smul_apply, Equiv.finsuppUnique_apply]
exact div_mul_cancel _ h
right_inv := fun f => by
- ext a
- rw [Subsingleton.elim a default] -- porting note: added
+ ext
simp only [LinearEquiv.map_smulₛₗ, Finsupp.coe_smul, Finsupp.single_eq_same,
RingHom.id_apply, smul_eq_mul, Pi.smul_apply]
exact mul_div_cancel _ h }
fix-comments.py
on all files.@@ -237,7 +237,7 @@ theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis
noncomputable def _root_.Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι := by
have A : Cardinal.mk ι = ↑(FiniteDimensional.finrank K K) :=
(FiniteDimensional.finrank_eq_card_basis' b).symm
- -- porting note: replace `algebra_map.coe_one` with `Nat.cast_one`
+ -- porting note: replace `algebraMap.coe_one` with `Nat.cast_one`
simp only [Cardinal.eq_one_iff_unique, FiniteDimensional.finrank_self, Nat.cast_one] at A
exact Nonempty.some ((unique_iff_subsingleton_and_nonempty _).2 A)
#align basis.unique Basis.unique
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -102,7 +102,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- If the codomain of an injective linear map is finite dimensional, the domain must be as well. -/
theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDimensional K V₂] :
FiniteDimensional K V :=
@@ -110,7 +109,6 @@ theorem of_injective (f : V →ₗ[K] V₂) (w : Function.Injective f) [FiniteDi
Module.Finite.of_injective f w
#align finite_dimensional.of_injective FiniteDimensional.of_injective
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- If the domain of a surjective linear map is finite dimensional, the codomain must be as well. -/
theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [FiniteDimensional K V] :
FiniteDimensional K V₂ :=
@@ -119,7 +117,6 @@ theorem of_surjective (f : V →ₗ[K] V₂) (w : Function.Surjective f) [Finite
variable (K V)
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
instance finiteDimensional_pi {ι : Type _} [Finite ι] : FiniteDimensional K (ι → K) :=
iff_fg.1 isNoetherian_pi
#align finite_dimensional.finite_dimensional_pi FiniteDimensional.finiteDimensional_pi
@@ -236,7 +233,6 @@ theorem finrank_eq_card_basis' [FiniteDimensional K V] {ι : Type w} (h : Basis
rw [Cardinal.mk_fintype, finrank_eq_card_basis h]
#align finite_dimensional.finrank_eq_card_basis' FiniteDimensional.finrank_eq_card_basis'
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- Given a basis of a division ring over itself indexed by a type `ι`, then `ι` is `Unique`. -/
noncomputable def _root_.Basis.unique {ι : Type _} (b : Basis ι K K) : Unique ι := by
have A : Cardinal.mk ι = ↑(FiniteDimensional.finrank K K) :=
@@ -263,7 +259,6 @@ noncomputable def finBasisOfFinrankEq [FiniteDimensional K V] {n : ℕ} (hn : fi
variable {K V}
-set_option synthInstance.etaExperiment true in
/-- A module with dimension 1 has a basis with one element. -/
noncomputable def basisUnique (ι : Type _) [Unique ι] (h : finrank K V = 1) : Basis ι K V :=
haveI : FiniteDimensional _ _ :=
@@ -383,7 +378,6 @@ theorem eq_top_of_finrank_eq [FiniteDimensional K V] {S : Submodule K V}
variable (K)
-set_option synthInstance.etaExperiment true in
instance finiteDimensional_self : FiniteDimensional K K := by infer_instance
#align finite_dimensional.finite_dimensional_self FiniteDimensional.finiteDimensional_self
@@ -402,7 +396,6 @@ instance span_finset (s : Finset V) : FiniteDimensional K (span K (s : Set V)) :
span_of_finite K <| s.finite_toSet
#align finite_dimensional.span_finset FiniteDimensional.span_finset
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- Pushforwards of finite-dimensional submodules are finite-dimensional. -/
instance (f : V →ₗ[K] V₂) (p : Submodule K V) [FiniteDimensional K p] :
FiniteDimensional K (p.map f) :=
@@ -595,7 +588,6 @@ end
end
-set_option synthInstance.etaExperiment true in
/-- In a vector space with dimension 1, each set {v} is a basis for `v ≠ 0`. -/
@[simps repr_apply]
noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
@@ -621,7 +613,6 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
exact mul_div_cancel _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
-set_option synthInstance.etaExperiment true in
@[simp]
theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
(i : ι) : basisSingleton ι h v hv i = v := by
@@ -821,7 +812,6 @@ open FiniteDimensional
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- Finite dimensionality is preserved under linear equivalence. -/
protected theorem finiteDimensional (f : V ≃ₗ[K] V₂) [FiniteDimensional K V] :
FiniteDimensional K V₂ :=
@@ -868,7 +858,6 @@ theorem eq_of_le_of_finrank_eq {S₁ S₂ : Submodule K V} [FiniteDimensional K
variable [FiniteDimensional K V] [FiniteDimensional K V₂]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- Given isomorphic subspaces `p q` of vector spaces `V` and `V₁` respectively,
`p.quotient` is isomorphic to `q.quotient`. -/
noncomputable def LinearEquiv.quotEquivOfEquiv {p : Subspace K V} {q : Subspace K V₂}
@@ -880,7 +869,6 @@ noncomputable def LinearEquiv.quotEquivOfEquiv {p : Subspace K V} {q : Subspace
LinearEquiv.finrank_eq f₂])
#align finite_dimensional.linear_equiv.quot_equiv_of_equiv FiniteDimensional.LinearEquiv.quotEquivOfEquiv
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
-- TODO: generalize to the case where one of `p` and `q` is finite-dimensional.
/-- Given the subspaces `p q`, if `p.quotient ≃ₗ[K] q`, then `q.quotient ≃ₗ[K] p` -/
noncomputable def LinearEquiv.quotEquivOfQuotEquiv {p q : Subspace K V} (f : (V ⧸ p) ≃ₗ[K] q) :
@@ -904,7 +892,6 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- On a finite-dimensional space, an injective linear map is surjective. -/
theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hinj : Injective f) :
Surjective f := by
@@ -913,21 +900,18 @@ theorem surjective_of_injective [FiniteDimensional K V] {f : V →ₗ[K] V} (hin
exact range_eq_top.1 (eq_top_of_finrank_eq h.symm)
#align linear_map.surjective_of_injective LinearMap.surjective_of_injective
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- The image under an onto linear map of a finite-dimensional space is also finite-dimensional. -/
theorem finiteDimensional_of_surjective [FiniteDimensional K V] (f : V →ₗ[K] V₂)
(hf : LinearMap.range f = ⊤) : FiniteDimensional K V₂ :=
Module.Finite.of_surjective f <| range_eq_top.1 hf
#align linear_map.finite_dimensional_of_surjective LinearMap.finiteDimensional_of_surjective
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- The range of a linear map defined on a finite-dimensional space is also finite-dimensional. -/
instance finiteDimensional_range [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
FiniteDimensional K (LinearMap.range f) :=
Module.Finite.range f
#align linear_map.finite_dimensional_range LinearMap.finiteDimensional_range
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- On a finite-dimensional space, a linear map is injective if and only if it is surjective. -/
theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
Injective f ↔ Surjective f :=
@@ -938,13 +922,11 @@ theorem injective_iff_surjective [FiniteDimensional K V] {f : V →ₗ[K] V} :
this).injective⟩
#align linear_map.injective_iff_surjective LinearMap.injective_iff_surjective
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
theorem ker_eq_bot_iff_range_eq_top [FiniteDimensional K V] {f : V →ₗ[K] V} :
LinearMap.ker f = ⊥ ↔ LinearMap.range f = ⊤ := by
rw [range_eq_top, ker_eq_bot, injective_iff_surjective]
#align linear_map.ker_eq_bot_iff_range_eq_top LinearMap.ker_eq_bot_iff_range_eq_top
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- In a finite-dimensional space, if linear maps are inverse to each other on one side then they
are also inverse to each other on the other side. -/
theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (hfg : f * g = 1) :
@@ -957,21 +939,18 @@ theorem mul_eq_one_of_mul_eq_one [FiniteDimensional K V] {f g : V →ₗ[K] V} (
rw [← mul_assoc, hfg, one_mul, mul_one] at this; rwa [← this]
#align linear_map.mul_eq_one_of_mul_eq_one LinearMap.mul_eq_one_of_mul_eq_one
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- In a finite-dimensional space, linear maps are inverse to each other on one side if and only if
they are inverse to each other on the other side. -/
theorem mul_eq_one_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f * g = 1 ↔ g * f = 1 :=
⟨mul_eq_one_of_mul_eq_one, mul_eq_one_of_mul_eq_one⟩
#align linear_map.mul_eq_one_comm LinearMap.mul_eq_one_comm
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- In a finite-dimensional space, linear maps are inverse to each other on one side if and only if
they are inverse to each other on the other side. -/
theorem comp_eq_id_comm [FiniteDimensional K V] {f g : V →ₗ[K] V} : f.comp g = id ↔ g.comp f = id :=
mul_eq_one_comm
#align linear_map.comp_eq_id_comm LinearMap.comp_eq_id_comm
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- rank-nullity theorem : the dimensions of the kernel and the range of a linear map add up to
the dimension of the source space. -/
theorem finrank_range_add_finrank_ker [FiniteDimensional K V] (f : V →ₗ[K] V₂) :
@@ -992,27 +971,23 @@ variable [DivisionRing K] [AddCommGroup V] [Module K V]
variable [FiniteDimensional K V]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- The linear equivalence corresponging to an injective endomorphism. -/
noncomputable def ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) : V ≃ₗ[K] V :=
LinearEquiv.ofBijective f ⟨h_inj, LinearMap.injective_iff_surjective.mp h_inj⟩
#align linear_equiv.of_injective_endo LinearEquiv.ofInjectiveEndo
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
@[simp]
theorem coe_ofInjectiveEndo (f : V →ₗ[K] V) (h_inj : Injective f) :
⇑(ofInjectiveEndo f h_inj) = f :=
rfl
#align linear_equiv.coe_of_injective_endo LinearEquiv.coe_ofInjectiveEndo
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
@[simp]
theorem ofInjectiveEndo_right_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
f * (ofInjectiveEndo f h_inj).symm = 1 :=
LinearMap.ext <| (ofInjectiveEndo f h_inj).apply_symm_apply
#align linear_equiv.of_injective_endo_right_inv LinearEquiv.ofInjectiveEndo_right_inv
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
@[simp]
theorem ofInjectiveEndo_left_inv (f : V →ₗ[K] V) (h_inj : Injective f) :
((ofInjectiveEndo f h_inj).symm : V →ₗ[K] V) * f = 1 :=
@@ -1025,7 +1000,6 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) :
IsUnit f ↔ (LinearMap.ker f) = ⊥ := by
constructor
@@ -1038,7 +1012,6 @@ theorem isUnit_iff_ker_eq_bot [FiniteDimensional K V] (f : V →ₗ[K] V) :
rfl⟩
#align linear_map.is_unit_iff_ker_eq_bot LinearMap.isUnit_iff_ker_eq_bot
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
theorem isUnit_iff_range_eq_top [FiniteDimensional K V] (f : V →ₗ[K] V) :
IsUnit f ↔ (LinearMap.range f) = ⊤ :=
by rw [isUnit_iff_ker_eq_bot, ker_eq_bot_iff_range_eq_top]
@@ -1070,7 +1043,6 @@ namespace LinearMap
variable [DivisionRing K] [AddCommGroup V] [Module K V] {V₂ : Type v'} [AddCommGroup V₂]
[Module K V₂]
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
Function.Injective f ↔ Function.Surjective f := by
@@ -1082,14 +1054,12 @@ theorem injective_iff_surjective_of_finrank_eq_finrank [FiniteDimensional K V]
exact finrank_eq_zero.1 (add_right_injective _ this)
#align linear_map.injective_iff_surjective_of_finrank_eq_finrank LinearMap.injective_iff_surjective_of_finrank_eq_finrank
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
theorem ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank [FiniteDimensional K V]
[FiniteDimensional K V₂] (H : finrank K V = finrank K V₂) {f : V →ₗ[K] V₂} :
LinearMap.ker f = ⊥ ↔ LinearMap.range f = ⊤ := by
rw [range_eq_top, ker_eq_bot, injective_iff_surjective_of_finrank_eq_finrank H]
#align linear_map.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank LinearMap.ker_eq_bot_iff_range_eq_top_of_finrank_eq_finrank
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- Given a linear map `f` between two vector spaces with the same dimension, if
`ker f = ⊥` then `linearEquivOfInjective` is the induced isomorphism
between the two vector spaces. -/
@@ -1099,7 +1069,6 @@ noncomputable def linearEquivOfInjective [FiniteDimensional K V] [FiniteDimensio
⟨hf, (LinearMap.injective_iff_surjective_of_finrank_eq_finrank hdim).mp hf⟩
#align linear_map.linear_equiv_of_injective LinearMap.linearEquivOfInjective
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
@[simp]
theorem linearEquivOfInjective_apply [FiniteDimensional K V] [FiniteDimensional K V₂]
{f : V →ₗ[K] V₂} (hf : Injective f) (hdim : finrank K V = finrank K V₂) (x : V) :
@@ -1111,7 +1080,6 @@ end LinearMap
section
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
/-- A domain that is module-finite as an algebra over a field is a division ring. -/
noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
@@ -1127,7 +1095,6 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring
inv_zero := dif_pos rfl }
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
-set_option synthInstance.etaExperiment true in
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
noncomputable def fieldOfFiniteDimensional (F K : Type _) [Field F] [CommRing K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : Field K :=
@@ -1395,8 +1362,6 @@ However, this approach doesn't scale very well, so we should consider holding of
them until we have no choice.
-/
-set_option synthInstance.maxHeartbeats 300000
-set_option synthInstance.etaExperiment true in
/-- A `Subalgebra` is `FiniteDimensional` iff it is `FiniteDimensional` as a submodule. -/
theorem Subalgebra.finiteDimensional_toSubmodule {S : Subalgebra F E} :
FiniteDimensional F (Subalgebra.toSubmodule S) ↔ FiniteDimensional F S :=
@@ -1408,21 +1373,16 @@ alias Subalgebra.finiteDimensional_toSubmodule ↔
#align finite_dimensional.of_subalgebra_to_submodule FiniteDimensional.of_subalgebra_toSubmodule
#align finite_dimensional.subalgebra_to_submodule FiniteDimensional.subalgebra_toSubmodule
-set_option synthInstance.etaExperiment true in
instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
(S : Subalgebra F E) : FiniteDimensional F S :=
FiniteDimensional.of_subalgebra_toSubmodule inferInstance
#align finite_dimensional.finite_dimensional_subalgebra FiniteDimensional.finiteDimensional_subalgebra
-set_option maxHeartbeats 300000
-set_option synthInstance.etaExperiment true in
instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) := by
nontriviality E
exact finiteDimensional_of_rank_eq_one Subalgebra.rank_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot
-set_option synthInstance.etaExperiment true in
-set_option maxHeartbeats 450000 in
theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) :
S = ⊥ := by
nontriviality E
@@ -1445,28 +1405,24 @@ theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S =
rw [← finrank_eq_rank, h, Nat.cast_one]
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
-set_option synthInstance.etaExperiment true in
@[simp]
theorem Subalgebra.rank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
Module.rank F S = 1 ↔ S = ⊥ :=
⟨fun h => Subalgebra.eq_bot_of_rank_le_one h.le, fun h => h.symm ▸ Subalgebra.rank_bot⟩
#align subalgebra.rank_eq_one_iff Subalgebra.rank_eq_one_iff
-set_option synthInstance.etaExperiment true in
@[simp]
theorem Subalgebra.finrank_eq_one_iff [Nontrivial E] {S : Subalgebra F E} :
finrank F S = 1 ↔ S = ⊥ :=
⟨Subalgebra.eq_bot_of_finrank_one, fun h => h.symm ▸ Subalgebra.finrank_bot⟩
#align subalgebra.finrank_eq_one_iff Subalgebra.finrank_eq_one_iff
-set_option synthInstance.etaExperiment true in
theorem Subalgebra.bot_eq_top_iff_rank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ Module.rank F E = 1 := by
-- porting note: removed `subalgebra_top_rank_eq_submodule_top_rank`
rw [← rank_top, Subalgebra.rank_eq_one_iff, eq_comm]
#align subalgebra.bot_eq_top_iff_rank_eq_one Subalgebra.bot_eq_top_iff_rank_eq_one
-set_option synthInstance.etaExperiment true in
theorem Subalgebra.bot_eq_top_iff_finrank_eq_one [Nontrivial E] :
(⊥ : Subalgebra F E) = ⊤ ↔ finrank F E = 1 := by
rw [← finrank_top, ← subalgebra_top_finrank_eq_submodule_top_finrank,
@@ -1481,7 +1437,6 @@ alias Subalgebra.bot_eq_top_iff_finrank_eq_one ↔ _ Subalgebra.bot_eq_top_of_fi
attribute [simp] Subalgebra.bot_eq_top_of_finrank_eq_one Subalgebra.bot_eq_top_of_rank_eq_one
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
theorem Subalgebra.isSimpleOrder_of_finrank (hr : finrank F E = 2) :
IsSimpleOrder (Subalgebra F E) :=
let i := nontrivial_of_finrank_pos (zero_lt_two.trans_eq hr.symm)
@@ -1582,7 +1537,6 @@ open Module
open Cardinal
-set_option synthInstance.etaExperiment true in
theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [FiniteDimensional K V] : (#V) = (#K) ^ Module.rank K V := by
let s := Basis.ofVectorSpaceIndex K V
Fg
to FG
(#3948)
Please refer to this Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Naming.20convention/near/357712556
@@ -705,7 +705,7 @@ section DivisionRing
variable [DivisionRing K] [AddCommGroup V] [Module K V]
/-- A submodule is finitely generated if and only if it is finite-dimensional -/
-theorem fg_iff_finiteDimensional (s : Submodule K V) : s.Fg ↔ FiniteDimensional K s :=
+theorem fg_iff_finiteDimensional (s : Submodule K V) : s.FG ↔ FiniteDimensional K s :=
⟨fun h => Module.finite_def.2 <| (fg_top s).2 h, fun h => (fg_top s).1 <| Module.finite_def.1 h⟩
#align submodule.fg_iff_finite_dimensional Submodule.fg_iff_finiteDimensional
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -758,12 +758,12 @@ instance finiteDimensional_finset_sup {ι : Type _} (s : Finset ι) (S : ι →
/-- The submodule generated by a supremum of finite dimensional submodules, indexed by a finite
sort is finite-dimensional. -/
-instance finiteDimensional_supᵢ {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
+instance finiteDimensional_iSup {ι : Sort _} [Finite ι] (S : ι → Submodule K V)
[∀ i, FiniteDimensional K (S i)] : FiniteDimensional K ↑(⨆ i, S i) := by
cases nonempty_fintype (PLift ι)
- rw [← supᵢ_plift_down, ← Finset.sup_univ_eq_supᵢ]
+ rw [← iSup_plift_down, ← Finset.sup_univ_eq_iSup]
exact Submodule.finiteDimensional_finset_sup _ _
-#align submodule.finite_dimensional_supr Submodule.finiteDimensional_supᵢ
+#align submodule.finite_dimensional_supr Submodule.finiteDimensional_iSup
/-- In a finite-dimensional vector space, the dimensions of a submodule and of the corresponding
quotient add up to the dimension of the space. -/
@@ -82,9 +82,7 @@ equivalence is proved in `Submodule.fg_iff_finiteDimensional`.
universe u v v' w
-open Classical Cardinal
-
-open Cardinal Submodule Module Function
+open Classical Cardinal Submodule Module Function
/-- `FiniteDimensional` vector spaces are defined to be finite modules.
Use `FiniteDimensional.of_fintype_basis` to prove finite dimension from another definition. -/
@@ -1117,8 +1115,6 @@ set_option synthInstance.etaExperiment true in -- Porting note: gets around lean
/-- A domain that is module-finite as an algebra over a field is a division ring. -/
noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : DivisionRing K :=
- -- porting note: added to avoid a timeout
- haveI : SMulCommClass F K K := IsScalarTower.to_smulCommClass
-- porting note: extracted from the fields below to a `haveI`
haveI : ∀ x : K, x ≠ 0 → Function.Surjective (LinearMap.mulLeft F x) := fun x H =>
LinearMap.injective_iff_surjective.1 fun y z => ((mul_right_inj' H).1 : x * y = x * z → y = z)
@@ -1221,7 +1217,6 @@ theorem span_eq_top_of_linearIndependent_of_card_eq_finrank {ι : Type _} [hι :
calc
Fintype.card ι = finrank K V := card_eq
_ = 0 := dif_neg (mt IsNoetherian.iff_rank_lt_aleph0.mpr fin)
-
#align span_eq_top_of_linear_independent_of_card_eq_finrank span_eq_top_of_linearIndependent_of_card_eq_finrank
/-- A linear independent family of `finrank K V` vectors forms a basis. -/
@@ -1551,9 +1546,9 @@ theorem ker_pow_constant {f : End K V} {k : ℕ}
apply le_antisymm
· rw [add_comm, pow_add]
apply LinearMap.ker_le_ker_comp
- · rw [ker_pow_constant h m, add_comm m 1, ← add_assoc, pow_add, pow_add f k m]
- change LinearMap.ker ((f ^ (k + 1)).comp (f ^ m)) ≤ LinearMap.ker ((f ^ k).comp (f ^ m))
- rw [LinearMap.ker_comp, LinearMap.ker_comp, h, Nat.add_one]
+ · rw [ker_pow_constant h m, add_comm m 1, ← add_assoc, pow_add, pow_add f k m,
+ LinearMap.mul_eq_comp, LinearMap.mul_eq_comp, LinearMap.ker_comp, LinearMap.ker_comp, h,
+ Nat.add_one]
#align module.End.ker_pow_constant Module.End.ker_pow_constant
theorem ker_pow_eq_ker_pow_finrank_of_le [FiniteDimensional K V] {f : End K V} {m : ℕ}
MetaM
version of rfl
tactic and missing whnfR
/instantiateMVars
(#3758)
This PR factors out a MetaM
version of the rfl
tactic and adds a missing whnfR
and instantiateMVars
in front of the goal type. This means that a few rw
s across mathlib4 now close the goal instead of e.g. requiring a trailing exact le_rfl
.
Note: we do not use whnfR
on the return type when adding the refl
extension in the first place, as forallMetaTelescopeReducing
already performs whnf
(here, at reducible transparency).
See zulip for some discussion on the internal changes made.
Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
@@ -1448,8 +1448,6 @@ theorem Subalgebra.eq_bot_of_finrank_one {S : Subalgebra F E} (h : finrank F S =
-- porting note: fails without explicit type
haveI : FiniteDimensional F S := finiteDimensional_of_finrank_eq_succ h
rw [← finrank_eq_rank, h, Nat.cast_one]
- -- porting note: added, `rw` forgot to close this
- exact le_rfl
#align subalgebra.eq_bot_of_finrank_one Subalgebra.eq_bot_of_finrank_one
set_option synthInstance.etaExperiment true in
This is to fix timeouts in https://github.com/leanprover-community/mathlib4/pull/3552.
See discussion at https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.233552.20.28LinearAlgebra.2EMatrix.2EToLin.29.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -597,6 +597,7 @@ end
end
+set_option synthInstance.etaExperiment true in
/-- In a vector space with dimension 1, each set {v} is a basis for `v ≠ 0`. -/
@[simps repr_apply]
noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V)
@@ -622,6 +623,7 @@ noncomputable def basisSingleton (ι : Type _) [Unique ι] (h : finrank K V = 1)
exact mul_div_cancel _ h }
#align finite_dimensional.basis_singleton FiniteDimensional.basisSingleton
+set_option synthInstance.etaExperiment true in
@[simp]
theorem basisSingleton_apply (ι : Type _) [Unique ι] (h : finrank K V = 1) (v : V) (hv : v ≠ 0)
(i : ι) : basisSingleton ι h v hv i = v := by
@@ -1129,6 +1131,7 @@ noncomputable def divisionRingOfFiniteDimensional (F K : Type _) [Field F] [Ring
inv_zero := dif_pos rfl }
#align division_ring_of_finite_dimensional divisionRingOfFiniteDimensional
+set_option synthInstance.etaExperiment true in
/-- An integral domain that is module-finite as an algebra over a field is a field. -/
noncomputable def fieldOfFiniteDimensional (F K : Type _) [Field F] [CommRing K] [IsDomain K]
[Algebra F K] [FiniteDimensional F K] : Field K :=
@@ -1586,6 +1589,7 @@ open Module
open Cardinal
+set_option synthInstance.etaExperiment true in
theorem cardinal_mk_eq_cardinal_mk_field_pow_rank (K V : Type u) [DivisionRing K] [AddCommGroup V]
[Module K V] [FiniteDimensional K V] : (#V) = (#K) ^ Module.rank K V := by
let s := Basis.ofVectorSpaceIndex K V
@@ -1165,7 +1165,7 @@ theorem finrank_strictMono [FiniteDimensional K V] :
theorem finrank_add_eq_of_isCompl [FiniteDimensional K V] {U W : Submodule K V} (h : IsCompl U W) :
finrank K U + finrank K W = finrank K V := by
- rw [← finrank_sup_add_finrank_inf_eq, h.Codisjoint.eq_top, h.Disjoint.eq_bot, finrank_bot,
+ rw [← finrank_sup_add_finrank_inf_eq, h.codisjoint.eq_top, h.disjoint.eq_bot, finrank_bot,
add_zero]
exact finrank_top _ _
#align submodule.finrank_add_eq_of_is_compl Submodule.finrank_add_eq_of_isCompl
The unported dependencies are