data.finset.sort
⟷
Mathlib.Data.Finset.Sort
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -131,7 +131,7 @@ theorem sorted_zero_eq_min'_aux (s : Finset α) (h : 0 < (s.sort (· ≤ ·)).le
#print Finset.sorted_zero_eq_min' /-
theorem sorted_zero_eq_min' {s : Finset α} {h : 0 < (s.sort (· ≤ ·)).length} :
- (s.sort (· ≤ ·)).nthLe 0 h = s.min' (card_pos.1 <| by rwa [length_sort] at h ) :=
+ (s.sort (· ≤ ·)).nthLe 0 h = s.min' (card_pos.1 <| by rwa [length_sort] at h) :=
sorted_zero_eq_min'_aux _ _ _
#align finset.sorted_zero_eq_min' Finset.sorted_zero_eq_min'
-/
@@ -166,7 +166,7 @@ theorem sorted_last_eq_max'_aux (s : Finset α)
theorem sorted_last_eq_max' {s : Finset α}
{h : (s.sort (· ≤ ·)).length - 1 < (s.sort (· ≤ ·)).length} :
(s.sort (· ≤ ·)).nthLe ((s.sort (· ≤ ·)).length - 1) h =
- s.max' (by rw [length_sort] at h ; exact card_pos.1 (lt_of_le_of_lt bot_le h)) :=
+ s.max' (by rw [length_sort] at h; exact card_pos.1 (lt_of_le_of_lt bot_le h)) :=
sorted_last_eq_max'_aux _ _ _
#align finset.sorted_last_eq_max' Finset.sorted_last_eq_max'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Mario Carneiro
-/
-import Mathbin.Order.RelIso.Set
-import Mathbin.Data.Fintype.Lattice
-import Mathbin.Data.Multiset.Sort
-import Mathbin.Data.List.NodupEquivFin
+import Order.RelIso.Set
+import Data.Fintype.Lattice
+import Data.Multiset.Sort
+import Data.List.NodupEquivFin
#align_import data.finset.sort from "leanprover-community/mathlib"@"327c3c0d9232d80e250dc8f65e7835b82b266ea5"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2017 Mario Carneiro. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Mario Carneiro
-
-! This file was ported from Lean 3 source module data.finset.sort
-! leanprover-community/mathlib commit 327c3c0d9232d80e250dc8f65e7835b82b266ea5
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Order.RelIso.Set
import Mathbin.Data.Fintype.Lattice
import Mathbin.Data.Multiset.Sort
import Mathbin.Data.List.NodupEquivFin
+#align_import data.finset.sort from "leanprover-community/mathlib"@"327c3c0d9232d80e250dc8f65e7835b82b266ea5"
+
/-!
# Construct a sorted list from a finset.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2fe465deb81bcd7ccafa065bb686888a82f15372
@@ -311,7 +311,7 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
is an order embedding from `fin k` to `α` whose image is contained in `s`. Specifically, it maps
`fin k` to an initial segment of `s`. -/
def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o α :=
- (Fin.castLE h).trans (s.orderEmbOfFin rfl)
+ (Fin.castLEEmb h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/728ef9dbb281241906f25cbeb30f90d83e0bb451
@@ -189,7 +189,7 @@ is the increasing bijection between `fin k` and `s` as an `order_iso`. Here, `h`
the cardinality of `s` is `k`. We use this instead of an iso `fin s.card ≃o s` to avoid
casting issues in further uses of this function. -/
def orderIsoOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ≃o s :=
- OrderIso.trans (Fin.cast ((length_sort (· ≤ ·)).trans h).symm) <|
+ OrderIso.trans (Fin.castIso ((length_sort (· ≤ ·)).trans h).symm) <|
(s.sort_sorted_lt.getIso _).trans <| OrderIso.setCongr _ _ <| Set.ext fun x => mem_sort _
#align finset.order_iso_of_fin Finset.orderIsoOfFin
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -204,28 +204,37 @@ def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
#align finset.order_emb_of_fin Finset.orderEmbOfFin
-/
+#print Finset.coe_orderIsoOfFin_apply /-
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
↑(orderIsoOfFin s h i) = orderEmbOfFin s h i :=
rfl
#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_apply
+-/
+#print Finset.orderIsoOfFin_symm_apply /-
theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x : s) :
↑((s.orderIsoOfFin h).symm x) = (s.sort (· ≤ ·)).indexOfₓ x :=
rfl
#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_apply
+-/
+#print Finset.orderEmbOfFin_apply /-
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i = (s.sort (· ≤ ·)).nthLe i (by rw [length_sort, h]; exact i.2) :=
rfl
#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_apply
+-/
+#print Finset.orderEmbOfFin_mem /-
@[simp]
theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i ∈ s :=
(s.orderIsoOfFin h i).2
#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_mem
+-/
+#print Finset.range_orderEmbOfFin /-
@[simp]
theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
Set.range (s.orderEmbOfFin h) = s := by
@@ -234,25 +243,33 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
OrderEmbedding.subtype_apply, OrderIso.coe_toOrderEmbedding, eq_self_iff_true,
Subtype.range_coe_subtype, Finset.setOf_mem, Finset.coe_inj]
#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFin
+-/
+#print Finset.orderEmbOfFin_zero /-
/-- The bijection `order_emb_of_fin s h` sends `0` to the minimum of `s`. -/
theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
orderEmbOfFin s h ⟨0, hz⟩ = s.min' (card_pos.mp (h.symm ▸ hz)) := by
simp only [order_emb_of_fin_apply, Fin.val_mk, sorted_zero_eq_min']
#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zero
+-/
+#print Finset.orderEmbOfFin_last /-
/-- The bijection `order_emb_of_fin s h` sends `k-1` to the maximum of `s`. -/
theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
orderEmbOfFin s h ⟨k - 1, Buffer.lt_aux_2 hz⟩ = s.max' (card_pos.mp (h.symm ▸ hz)) := by
simp [order_emb_of_fin_apply, max'_eq_sorted_last, h]
#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_last
+-/
+#print Finset.orderEmbOfFin_singleton /-
/-- `order_emb_of_fin {a} h` sends any argument to `a`. -/
@[simp]
theorem orderEmbOfFin_singleton (a : α) (i : Fin 1) : orderEmbOfFin {a} (card_singleton a) i = a :=
by rw [Subsingleton.elim i ⟨0, zero_lt_one⟩, order_emb_of_fin_zero _ zero_lt_one, min'_singleton]
#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singleton
+-/
+#print Finset.orderEmbOfFin_unique /-
/-- Any increasing map `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin k → α}
@@ -264,14 +281,18 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
· rcases mem_image.1 hx with ⟨x, hx, rfl⟩; exact hfs x
· rw [h, card_image_of_injective _ hmono.injective, card_univ, Fintype.card_fin]
#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_unique
+-/
+#print Finset.orderEmbOfFin_unique' /-
/-- An order embedding `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin k ↪o α}
(hfs : ∀ x, f x ∈ s) : f = s.orderEmbOfFin h :=
RelEmbedding.ext <| Function.funext_iff.1 <| orderEmbOfFin_unique h hfs f.StrictMono
#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'
+-/
+#print Finset.orderEmbOfFin_eq_orderEmbOfFin_iff /-
/-- Two parametrizations `order_emb_of_fin` of the same set take the same value on `i` and `j` if
and only if `i = j`. Since they can be defined on a priori not defeq types `fin k` and `fin l`
(although necessarily `k = l`), the conclusion is rather written `(i : ℕ) = (j : ℕ)`. -/
@@ -283,6 +304,7 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
substs k l
exact (s.order_emb_of_fin rfl).eq_iff_eq.trans Fin.ext_iff
#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iff
+-/
#print Finset.orderEmbOfCardLe /-
/-- Given a finset `s` of size at least `k` in a linear order `α`, the map `order_emb_of_card_le`
@@ -293,10 +315,12 @@ def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
-/
+#print Finset.orderEmbOfCardLe_mem /-
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
orderEmbOfCardLe s h a ∈ s := by
simp only [order_emb_of_card_le, RelEmbedding.coe_trans, Finset.orderEmbOfFin_mem]
#align finset.order_emb_of_card_le_mem Finset.orderEmbOfCardLe_mem
+-/
end SortLinearOrder
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -123,7 +123,7 @@ theorem sorted_zero_eq_min'_aux (s : Finset α) (h : 0 < (s.sort (· ≤ ·)).le
let l := s.sort (· ≤ ·)
apply le_antisymm
· have : s.min' H ∈ l := (Finset.mem_sort (· ≤ ·)).mpr (s.min'_mem H)
- obtain ⟨i, i_lt, hi⟩ : ∃ (i : _)(hi : i < l.length), l.nth_le i hi = s.min' H :=
+ obtain ⟨i, i_lt, hi⟩ : ∃ (i : _) (hi : i < l.length), l.nth_le i hi = s.min' H :=
List.mem_iff_nthLe.1 this
rw [← hi]
exact (s.sort_sorted (· ≤ ·)).rel_nthLe_of_le _ _ (Nat.zero_le i)
@@ -134,7 +134,7 @@ theorem sorted_zero_eq_min'_aux (s : Finset α) (h : 0 < (s.sort (· ≤ ·)).le
#print Finset.sorted_zero_eq_min' /-
theorem sorted_zero_eq_min' {s : Finset α} {h : 0 < (s.sort (· ≤ ·)).length} :
- (s.sort (· ≤ ·)).nthLe 0 h = s.min' (card_pos.1 <| by rwa [length_sort] at h) :=
+ (s.sort (· ≤ ·)).nthLe 0 h = s.min' (card_pos.1 <| by rwa [length_sort] at h ) :=
sorted_zero_eq_min'_aux _ _ _
#align finset.sorted_zero_eq_min' Finset.sorted_zero_eq_min'
-/
@@ -157,7 +157,7 @@ theorem sorted_last_eq_max'_aux (s : Finset α)
(Finset.mem_sort (· ≤ ·)).1 (List.nthLe_mem l _ h)
exact s.le_max' _ this
· have : s.max' H ∈ l := (Finset.mem_sort (· ≤ ·)).mpr (s.max'_mem H)
- obtain ⟨i, i_lt, hi⟩ : ∃ (i : _)(hi : i < l.length), l.nth_le i hi = s.max' H :=
+ obtain ⟨i, i_lt, hi⟩ : ∃ (i : _) (hi : i < l.length), l.nth_le i hi = s.max' H :=
List.mem_iff_nthLe.1 this
rw [← hi]
have : i ≤ l.length - 1 := Nat.le_pred_of_lt i_lt
@@ -169,7 +169,7 @@ theorem sorted_last_eq_max'_aux (s : Finset α)
theorem sorted_last_eq_max' {s : Finset α}
{h : (s.sort (· ≤ ·)).length - 1 < (s.sort (· ≤ ·)).length} :
(s.sort (· ≤ ·)).nthLe ((s.sort (· ≤ ·)).length - 1) h =
- s.max' (by rw [length_sort] at h; exact card_pos.1 (lt_of_le_of_lt bot_le h)) :=
+ s.max' (by rw [length_sort] at h ; exact card_pos.1 (lt_of_le_of_lt bot_le h)) :=
sorted_last_eq_max'_aux _ _ _
#align finset.sorted_last_eq_max' Finset.sorted_last_eq_max'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -183,6 +183,7 @@ theorem max'_eq_sorted_last {s : Finset α} {h : s.Nonempty} :
#align finset.max'_eq_sorted_last Finset.max'_eq_sorted_last
-/
+#print Finset.orderIsoOfFin /-
/-- Given a finset `s` of cardinality `k` in a linear order `α`, the map `order_iso_of_fin s h`
is the increasing bijection between `fin k` and `s` as an `order_iso`. Here, `h` is a proof that
the cardinality of `s` is `k`. We use this instead of an iso `fin s.card ≃o s` to avoid
@@ -191,7 +192,9 @@ def orderIsoOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ≃o s :=
OrderIso.trans (Fin.cast ((length_sort (· ≤ ·)).trans h).symm) <|
(s.sort_sorted_lt.getIso _).trans <| OrderIso.setCongr _ _ <| Set.ext fun x => mem_sort _
#align finset.order_iso_of_fin Finset.orderIsoOfFin
+-/
+#print Finset.orderEmbOfFin /-
/-- Given a finset `s` of cardinality `k` in a linear order `α`, the map `order_emb_of_fin s h` is
the increasing bijection between `fin k` and `s` as an order embedding into `α`. Here, `h` is a
proof that the cardinality of `s` is `k`. We use this instead of an embedding `fin s.card ↪o α` to
@@ -199,6 +202,7 @@ avoid casting issues in further uses of this function. -/
def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
(orderIsoOfFin s h).toOrderEmbedding.trans (OrderEmbedding.subtype _)
#align finset.order_emb_of_fin Finset.orderEmbOfFin
+-/
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -280,12 +284,14 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
exact (s.order_emb_of_fin rfl).eq_iff_eq.trans Fin.ext_iff
#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iff
+#print Finset.orderEmbOfCardLe /-
/-- Given a finset `s` of size at least `k` in a linear order `α`, the map `order_emb_of_card_le`
is an order embedding from `fin k` to `α` whose image is contained in `s`. Specifically, it maps
`fin k` to an initial segment of `s`. -/
def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o α :=
(Fin.castLE h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
+-/
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
orderEmbOfCardLe s h a ∈ s := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -183,12 +183,6 @@ theorem max'_eq_sorted_last {s : Finset α} {h : s.Nonempty} :
#align finset.max'_eq_sorted_last Finset.max'_eq_sorted_last
-/
-/- warning: finset.order_iso_of_fin -> Finset.orderIsoOfFin is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)))
-Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin Finset.orderIsoOfFinₓ'. -/
/-- Given a finset `s` of cardinality `k` in a linear order `α`, the map `order_iso_of_fin s h`
is the increasing bijection between `fin k` and `s` as an `order_iso`. Here, `h` is a proof that
the cardinality of `s` is `k`. We use this instead of an iso `fin s.card ≃o s` to avoid
@@ -198,12 +192,6 @@ def orderIsoOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ≃o s :=
(s.sort_sorted_lt.getIso _).trans <| OrderIso.setCongr _ _ <| Set.ext fun x => mem_sort _
#align finset.order_iso_of_fin Finset.orderIsoOfFin
-/- warning: finset.order_emb_of_fin -> Finset.orderEmbOfFin is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin Finset.orderEmbOfFinₓ'. -/
/-- Given a finset `s` of cardinality `k` in a linear order `α`, the map `order_emb_of_fin s h` is
the increasing bijection between `fin k` and `s` as an order embedding into `α`. Here, `h` is a
proof that the cardinality of `s` is `k`. We use this instead of an embedding `fin s.card ↪o α` to
@@ -212,49 +200,28 @@ def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
(orderIsoOfFin s h).toOrderEmbedding.trans (OrderEmbedding.subtype _)
#align finset.order_emb_of_fin Finset.orderEmbOfFin
-/- warning: finset.coe_order_iso_of_fin_apply -> Finset.coe_orderIsoOfFin_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_applyₓ'. -/
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
↑(orderIsoOfFin s h i) = orderEmbOfFin s h i :=
rfl
#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_apply
-/- warning: finset.order_iso_of_fin_symm_apply -> Finset.orderIsoOfFin_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_applyₓ'. -/
theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x : s) :
↑((s.orderIsoOfFin h).symm x) = (s.sort (· ≤ ·)).indexOfₓ x :=
rfl
#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_apply
-/- warning: finset.order_emb_of_fin_apply -> Finset.orderEmbOfFin_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i = (s.sort (· ≤ ·)).nthLe i (by rw [length_sort, h]; exact i.2) :=
rfl
#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_apply
-/- warning: finset.order_emb_of_fin_mem -> Finset.orderEmbOfFin_mem is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_memₓ'. -/
@[simp]
theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i ∈ s :=
(s.orderIsoOfFin h i).2
#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_mem
-/- warning: finset.range_order_emb_of_fin -> Finset.range_orderEmbOfFin is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
-Case conversion may be inaccurate. Consider using '#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFinₓ'. -/
@[simp]
theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
Set.range (s.orderEmbOfFin h) = s := by
@@ -264,48 +231,24 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
Subtype.range_coe_subtype, Finset.setOf_mem, Finset.coe_inj]
#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFin
-/- warning: finset.order_emb_of_fin_zero -> Finset.orderEmbOfFin_zero is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zeroₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `0` to the minimum of `s`. -/
theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
orderEmbOfFin s h ⟨0, hz⟩ = s.min' (card_pos.mp (h.symm ▸ hz)) := by
simp only [order_emb_of_fin_apply, Fin.val_mk, sorted_zero_eq_min']
#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zero
-/- warning: finset.order_emb_of_fin_last -> Finset.orderEmbOfFin_last is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_lastₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `k-1` to the maximum of `s`. -/
theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
orderEmbOfFin s h ⟨k - 1, Buffer.lt_aux_2 hz⟩ = s.max' (card_pos.mp (h.symm ▸ hz)) := by
simp [order_emb_of_fin_apply, max'_eq_sorted_last, h]
#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_last
-/- warning: finset.order_emb_of_fin_singleton -> Finset.orderEmbOfFin_singleton is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Finset.card_singleton.{u1} α a)) i) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Lattice.toInf.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singletonₓ'. -/
/-- `order_emb_of_fin {a} h` sends any argument to `a`. -/
@[simp]
theorem orderEmbOfFin_singleton (a : α) (i : Fin 1) : orderEmbOfFin {a} (card_singleton a) i = a :=
by rw [Subsingleton.elim i ⟨0, zero_lt_one⟩, order_emb_of_fin_zero _ zero_lt_one, min'_singleton]
#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singleton
-/- warning: finset.order_emb_of_fin_unique -> Finset.orderEmbOfFin_unique is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.partialOrder k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_uniqueₓ'. -/
/-- Any increasing map `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin k → α}
@@ -318,12 +261,6 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
· rw [h, card_image_of_injective _ hmono.injective, card_univ, Fintype.card_fin]
#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_unique
-/- warning: finset.order_emb_of_fin_unique' -> Finset.orderEmbOfFin_unique' is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'ₓ'. -/
/-- An order embedding `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin k ↪o α}
@@ -331,9 +268,6 @@ theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fi
RelEmbedding.ext <| Function.funext_iff.1 <| orderEmbOfFin_unique h hfs f.StrictMono
#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'
-/- warning: finset.order_emb_of_fin_eq_order_emb_of_fin_iff -> Finset.orderEmbOfFin_eq_orderEmbOfFin_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iffₓ'. -/
/-- Two parametrizations `order_emb_of_fin` of the same set take the same value on `i` and `j` if
and only if `i = j`. Since they can be defined on a priori not defeq types `fin k` and `fin l`
(although necessarily `k = l`), the conclusion is rather written `(i : ℕ) = (j : ℕ)`. -/
@@ -346,12 +280,6 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
exact (s.order_emb_of_fin rfl).eq_iff_eq.trans Fin.ext_iff
#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iff
-/- warning: finset.order_emb_of_card_le -> Finset.orderEmbOfCardLe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) -> (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) -> (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le Finset.orderEmbOfCardLeₓ'. -/
/-- Given a finset `s` of size at least `k` in a linear order `α`, the map `order_emb_of_card_le`
is an order embedding from `fin k` to `α` whose image is contained in `s`. Specifically, it maps
`fin k` to an initial segment of `s`. -/
@@ -359,12 +287,6 @@ def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o
(Fin.castLE h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
-/- warning: finset.order_emb_of_card_le_mem -> Finset.orderEmbOfCardLe_mem is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) (a : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
-Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le_mem Finset.orderEmbOfCardLe_memₓ'. -/
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
orderEmbOfCardLe s h a ∈ s := by
simp only [order_emb_of_card_le, RelEmbedding.coe_trans, Finset.orderEmbOfFin_mem]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -99,9 +99,7 @@ theorem sort_singleton (a : α) : sort r {a} = [a] :=
-/
#print Finset.sort_perm_toList /-
-theorem sort_perm_toList (s : Finset α) : sort r s ~ s.toList :=
- by
- rw [← Multiset.coe_eq_coe]
+theorem sort_perm_toList (s : Finset α) : sort r s ~ s.toList := by rw [← Multiset.coe_eq_coe];
simp only [coe_to_list, sort_eq]
#align finset.sort_perm_to_list Finset.sort_perm_toList
-/
@@ -143,11 +141,7 @@ theorem sorted_zero_eq_min' {s : Finset α} {h : 0 < (s.sort (· ≤ ·)).length
#print Finset.min'_eq_sorted_zero /-
theorem min'_eq_sorted_zero {s : Finset α} {h : s.Nonempty} :
- s.min' h =
- (s.sort (· ≤ ·)).nthLe 0
- (by
- rw [length_sort]
- exact card_pos.2 h) :=
+ s.min' h = (s.sort (· ≤ ·)).nthLe 0 (by rw [length_sort]; exact card_pos.2 h) :=
(sorted_zero_eq_min'_aux _ _ _).symm
#align finset.min'_eq_sorted_zero Finset.min'_eq_sorted_zero
-/
@@ -175,10 +169,7 @@ theorem sorted_last_eq_max'_aux (s : Finset α)
theorem sorted_last_eq_max' {s : Finset α}
{h : (s.sort (· ≤ ·)).length - 1 < (s.sort (· ≤ ·)).length} :
(s.sort (· ≤ ·)).nthLe ((s.sort (· ≤ ·)).length - 1) h =
- s.max'
- (by
- rw [length_sort] at h
- exact card_pos.1 (lt_of_le_of_lt bot_le h)) :=
+ s.max' (by rw [length_sort] at h; exact card_pos.1 (lt_of_le_of_lt bot_le h)) :=
sorted_last_eq_max'_aux _ _ _
#align finset.sorted_last_eq_max' Finset.sorted_last_eq_max'
-/
@@ -242,11 +233,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
<too large>
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
- s.orderEmbOfFin h i =
- (s.sort (· ≤ ·)).nthLe i
- (by
- rw [length_sort, h]
- exact i.2) :=
+ s.orderEmbOfFin h i = (s.sort (· ≤ ·)).nthLe i (by rw [length_sort, h]; exact i.2) :=
rfl
#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_apply
@@ -327,8 +314,7 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
apply Fin.strictMono_unique hmono (s.order_emb_of_fin h).StrictMono
rw [range_order_emb_of_fin, ← Set.image_univ, ← coe_univ, ← coe_image, coe_inj]
refine' eq_of_subset_of_card_le (fun x hx => _) _
- · rcases mem_image.1 hx with ⟨x, hx, rfl⟩
- exact hfs x
+ · rcases mem_image.1 hx with ⟨x, hx, rfl⟩; exact hfs x
· rw [h, card_image_of_injective _ hmono.injective, card_univ, Fintype.card_fin]
#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_unique
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -222,10 +222,7 @@ def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
#align finset.order_emb_of_fin Finset.orderEmbOfFin
/- warning: finset.coe_order_iso_of_fin_apply -> Finset.coe_orderIsoOfFin_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) (coeFn.{succ u1, succ u1} (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (fun (_x : RelIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) => (Fin k) -> (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s)) (RelIso.hasCoeToFun.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
+<too large>
Case conversion may be inaccurate. Consider using '#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_applyₓ'. -/
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -234,10 +231,7 @@ theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i :
#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_apply
/- warning: finset.order_iso_of_fin_symm_apply -> Finset.orderIsoOfFin_symm_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s), Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Fin.hasLe k)) (fun (_x : RelIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) => (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) -> (Fin k)) (RelIso.hasCoeToFun.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) (OrderIso.symm.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOfₓ.{u1} α (fun (a : α) (b : α) => Eq.decidable.{u1} α _inst_1 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) x) (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) (RelHomClass.toFunLike.{u1, u1, 0} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_applyₓ'. -/
theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x : s) :
↑((s.orderIsoOfFin h).symm x) = (s.sort (· ≤ ·)).indexOfₓ x :=
@@ -245,10 +239,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_apply
/- warning: finset.order_emb_of_fin_apply -> Finset.orderEmbOfFin_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
+<too large>
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i =
@@ -355,10 +346,7 @@ theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fi
#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'
/- warning: finset.order_emb_of_fin_eq_order_emb_of_fin_iff -> Finset.orderEmbOfFin_eq_orderEmbOfFin_iff is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (Fin.hasLe l) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin l) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin l) Nat (HasLiftT.mk.{1, 1} (Fin l) Nat (CoeTCₓ.coe.{1, 1} (Fin l) Nat (coeBase.{1, 1} (Fin l) Nat (Fin.coeToNat l)))) j))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin l) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Lattice.toInf.{0} (Fin l) (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Fin.instLinearOrderFin l) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
+<too large>
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iffₓ'. -/
/-- Two parametrizations `order_emb_of_fin` of the same set take the same value on `i` and `j` if
and only if `i = j`. Since they can be defined on a priori not defeq types `fin k` and `fin l`
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -225,7 +225,7 @@ def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) (coeFn.{succ u1, succ u1} (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (fun (_x : RelIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) => (Fin k) -> (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s)) (RelIso.hasCoeToFun.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
Case conversion may be inaccurate. Consider using '#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_applyₓ'. -/
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -237,7 +237,7 @@ theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s), Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Fin.hasLe k)) (fun (_x : RelIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) => (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) -> (Fin k)) (RelIso.hasCoeToFun.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) (OrderIso.symm.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOfₓ.{u1} α (fun (a : α) (b : α) => Eq.decidable.{u1} α _inst_1 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) x) (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) (RelHomClass.toFunLike.{u1, u1, 0} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) (RelHomClass.toFunLike.{u1, u1, 0} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_applyₓ'. -/
theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x : s) :
↑((s.orderIsoOfFin h).symm x) = (s.sort (· ≤ ·)).indexOfₓ x :=
@@ -248,7 +248,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i =
@@ -263,7 +263,7 @@ theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_memₓ'. -/
@[simp]
theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -275,7 +275,7 @@ theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k)
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
Case conversion may be inaccurate. Consider using '#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFinₓ'. -/
@[simp]
theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
@@ -290,7 +290,7 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zeroₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `0` to the minimum of `s`. -/
theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -302,7 +302,7 @@ theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_lastₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `k-1` to the maximum of `s`. -/
theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -314,7 +314,7 @@ theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Finset.card_singleton.{u1} α a)) i) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Lattice.toInf.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Lattice.toInf.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singletonₓ'. -/
/-- `order_emb_of_fin {a} h` sends any argument to `a`. -/
@[simp]
@@ -326,7 +326,7 @@ theorem orderEmbOfFin_singleton (a : α) (i : Fin 1) : orderEmbOfFin {a} (card_s
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.partialOrder k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_uniqueₓ'. -/
/-- Any increasing map `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
@@ -345,7 +345,7 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'ₓ'. -/
/-- An order embedding `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
@@ -358,7 +358,7 @@ theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fi
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (Fin.hasLe l) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin l) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin l) Nat (HasLiftT.mk.{1, 1} (Fin l) Nat (CoeTCₓ.coe.{1, 1} (Fin l) Nat (coeBase.{1, 1} (Fin l) Nat (Fin.coeToNat l)))) j))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin l) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Lattice.toInf.{0} (Fin l) (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Fin.instLinearOrderFin l) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin l) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Lattice.toInf.{0} (Fin l) (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Fin.instLinearOrderFin l) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iffₓ'. -/
/-- Two parametrizations `order_emb_of_fin` of the same set take the same value on `i` and `j` if
and only if `i = j`. Since they can be defined on a priori not defeq types `fin k` and `fin l`
@@ -389,7 +389,7 @@ def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) (a : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.684 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.682 x._@.Mathlib.Order.Hom.Basic._hyg.684) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.699 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.697 x._@.Mathlib.Order.Hom.Basic._hyg.699))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le_mem Finset.orderEmbOfCardLe_memₓ'. -/
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
orderEmbOfCardLe s h a ∈ s := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -192,7 +192,12 @@ theorem max'_eq_sorted_last {s : Finset α} {h : s.Nonempty} :
#align finset.max'_eq_sorted_last Finset.max'_eq_sorted_last
-/
-#print Finset.orderIsoOfFin /-
+/- warning: finset.order_iso_of_fin -> Finset.orderIsoOfFin is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)))
+Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin Finset.orderIsoOfFinₓ'. -/
/-- Given a finset `s` of cardinality `k` in a linear order `α`, the map `order_iso_of_fin s h`
is the increasing bijection between `fin k` and `s` as an `order_iso`. Here, `h` is a proof that
the cardinality of `s` is `k`. We use this instead of an iso `fin s.card ≃o s` to avoid
@@ -201,9 +206,13 @@ def orderIsoOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ≃o s :=
OrderIso.trans (Fin.cast ((length_sort (· ≤ ·)).trans h).symm) <|
(s.sort_sorted_lt.getIso _).trans <| OrderIso.setCongr _ _ <| Set.ext fun x => mem_sort _
#align finset.order_iso_of_fin Finset.orderIsoOfFin
--/
-#print Finset.orderEmbOfFin /-
+/- warning: finset.order_emb_of_fin -> Finset.orderEmbOfFin is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (Eq.{1} Nat (Finset.card.{u1} α s) k) -> (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin Finset.orderEmbOfFinₓ'. -/
/-- Given a finset `s` of cardinality `k` in a linear order `α`, the map `order_emb_of_fin s h` is
the increasing bijection between `fin k` and `s` as an order embedding into `α`. Here, `h` is a
proof that the cardinality of `s` is `k`. We use this instead of an embedding `fin s.card ↪o α` to
@@ -211,11 +220,10 @@ avoid casting issues in further uses of this function. -/
def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
(orderIsoOfFin s h).toOrderEmbedding.trans (OrderEmbedding.subtype _)
#align finset.order_emb_of_fin Finset.orderEmbOfFin
--/
/- warning: finset.coe_order_iso_of_fin_apply -> Finset.coe_orderIsoOfFin_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) (coeFn.{succ u1, succ u1} (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (fun (_x : RelIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) => (Fin k) -> (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s)) (RelIso.hasCoeToFun.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) (coeFn.{succ u1, succ u1} (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (fun (_x : RelIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) => (Fin k) -> (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s)) (RelIso.hasCoeToFun.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
Case conversion may be inaccurate. Consider using '#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_applyₓ'. -/
@@ -227,7 +235,7 @@ theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i :
/- warning: finset.order_iso_of_fin_symm_apply -> Finset.orderIsoOfFin_symm_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s), Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Fin.hasLe k)) (fun (_x : RelIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) => (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) -> (Fin k)) (RelIso.hasCoeToFun.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) (OrderIso.symm.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOfₓ.{u1} α (fun (a : α) (b : α) => Eq.decidable.{u1} α _inst_1 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) x) (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s), Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Fin.hasLe k)) (fun (_x : RelIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) => (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) -> (Fin k)) (RelIso.hasCoeToFun.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) (OrderIso.symm.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOfₓ.{u1} α (fun (a : α) (b : α) => Eq.decidable.{u1} α _inst_1 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) x) (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) (RelHomClass.toFunLike.{u1, u1, 0} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_applyₓ'. -/
@@ -238,7 +246,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
/- warning: finset.order_emb_of_fin_apply -> Finset.orderEmbOfFin_apply is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
@@ -253,7 +261,7 @@ theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin
/- warning: finset.order_emb_of_fin_mem -> Finset.orderEmbOfFin_mem is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_memₓ'. -/
@@ -265,7 +273,7 @@ theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k)
/- warning: finset.range_order_emb_of_fin -> Finset.range_orderEmbOfFin is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
Case conversion may be inaccurate. Consider using '#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFinₓ'. -/
@@ -280,7 +288,7 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
/- warning: finset.order_emb_of_fin_zero -> Finset.orderEmbOfFin_zero is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zeroₓ'. -/
@@ -292,7 +300,7 @@ theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
/- warning: finset.order_emb_of_fin_last -> Finset.orderEmbOfFin_last is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_lastₓ'. -/
@@ -304,7 +312,7 @@ theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
/- warning: finset.order_emb_of_fin_singleton -> Finset.orderEmbOfFin_singleton is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Finset.card_singleton.{u1} α a)) i) a
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Finset.card_singleton.{u1} α a)) i) a
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Lattice.toInf.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singletonₓ'. -/
@@ -316,7 +324,7 @@ theorem orderEmbOfFin_singleton (a : α) (i : Fin 1) : orderEmbOfFin {a} (card_s
/- warning: finset.order_emb_of_fin_unique -> Finset.orderEmbOfFin_unique is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.partialOrder k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.partialOrder k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_uniqueₓ'. -/
@@ -335,7 +343,7 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
/- warning: finset.order_emb_of_fin_unique' -> Finset.orderEmbOfFin_unique' is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'ₓ'. -/
@@ -348,7 +356,7 @@ theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fi
/- warning: finset.order_emb_of_fin_eq_order_emb_of_fin_iff -> Finset.orderEmbOfFin_eq_orderEmbOfFin_iff is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (Fin.hasLe l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin l) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin l) Nat (HasLiftT.mk.{1, 1} (Fin l) Nat (CoeTCₓ.coe.{1, 1} (Fin l) Nat (coeBase.{1, 1} (Fin l) Nat (Fin.coeToNat l)))) j))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (Fin.hasLe l) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin l) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin l) Nat (HasLiftT.mk.{1, 1} (Fin l) Nat (CoeTCₓ.coe.{1, 1} (Fin l) Nat (coeBase.{1, 1} (Fin l) Nat (Fin.coeToNat l)))) j))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin l) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Lattice.toInf.{0} (Fin l) (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Fin.instLinearOrderFin l) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iffₓ'. -/
@@ -364,18 +372,22 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
exact (s.order_emb_of_fin rfl).eq_iff_eq.trans Fin.ext_iff
#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iff
-#print Finset.orderEmbOfCardLe /-
+/- warning: finset.order_emb_of_card_le -> Finset.orderEmbOfCardLe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) -> (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat}, (LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) -> (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le Finset.orderEmbOfCardLeₓ'. -/
/-- Given a finset `s` of size at least `k` in a linear order `α`, the map `order_emb_of_card_le`
is an order embedding from `fin k` to `α` whose image is contained in `s`. Specifically, it maps
`fin k` to an initial segment of `s`. -/
def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o α :=
(Fin.castLE h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
--/
/- warning: finset.order_emb_of_card_le_mem -> Finset.orderEmbOfCardLe_mem is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) (a : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) (a : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le_mem Finset.orderEmbOfCardLe_memₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8b8ba04e2f326f3f7cf24ad129beda58531ada61
@@ -217,7 +217,7 @@ def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) (coeFn.{succ u1, succ u1} (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (fun (_x : RelIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) => (Fin k) -> (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s)) (RelIso.hasCoeToFun.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
Case conversion may be inaccurate. Consider using '#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_applyₓ'. -/
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -240,7 +240,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i =
@@ -255,7 +255,7 @@ theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_memₓ'. -/
@[simp]
theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -267,7 +267,7 @@ theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k)
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
Case conversion may be inaccurate. Consider using '#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFinₓ'. -/
@[simp]
theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
@@ -282,7 +282,7 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zeroₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `0` to the minimum of `s`. -/
theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -294,7 +294,7 @@ theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_lastₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `k-1` to the maximum of `s`. -/
theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -306,7 +306,7 @@ theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Finset.card_singleton.{u1} α a)) i) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Lattice.toInf.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (DistribLattice.toLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instDistribLattice.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Fin.instLinearOrderFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singletonₓ'. -/
/-- `order_emb_of_fin {a} h` sends any argument to `a`. -/
@[simp]
@@ -318,7 +318,7 @@ theorem orderEmbOfFin_singleton (a : α) (i : Fin 1) : orderEmbOfFin {a} (card_s
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.partialOrder k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_uniqueₓ'. -/
/-- Any increasing map `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
@@ -337,7 +337,7 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'ₓ'. -/
/-- An order embedding `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
@@ -350,7 +350,7 @@ theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fi
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (Fin.hasLe l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin l) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin l) Nat (HasLiftT.mk.{1, 1} (Fin l) Nat (CoeTCₓ.coe.{1, 1} (Fin l) Nat (coeBase.{1, 1} (Fin l) Nat (Fin.coeToNat l)))) j))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin l) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin l) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Lattice.toInf.{0} (Fin l) (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (DistribLattice.toLattice.{0} (Fin l) (instDistribLattice.{0} (Fin l) (Fin.instLinearOrderFin l))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (Fin.instLinearOrderFin l) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iffₓ'. -/
/-- Two parametrizations `order_emb_of_fin` of the same set take the same value on `i` and `j` if
and only if `i = j`. Since they can be defined on a priori not defeq types `fin k` and `fin l`
@@ -377,7 +377,7 @@ def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) (a : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.Hom.Lattice._hyg.494 : Fin k) => α) _x) (InfHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Lattice.toInf.{0} (Fin k) (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k)))) (Lattice.toInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))) (LatticeHomClass.toInfHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (DistribLattice.toLattice.{0} (Fin k) (instDistribLattice.{0} (Fin k) (Fin.instLinearOrderFin k))) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (OrderHomClass.toLatticeHomClass.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (Fin.instLinearOrderFin k) (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le_mem Finset.orderEmbOfCardLe_memₓ'. -/
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
orderEmbOfCardLe s h a ∈ s := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/730c6d4cab72b9d84fcfb9e95e8796e9cd8f40ba
@@ -217,7 +217,7 @@ def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) (coeFn.{succ u1, succ u1} (OrderIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (fun (_x : RelIso.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) => (Fin k) -> (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s)) (RelIso.hasCoeToFun.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s))) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)))) (RelEmbedding.toEmbedding.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h))) i)) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) i)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) (FunLike.coe.{succ u1, 1, succ u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (fun (_x : Fin k) => Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (RelHomClass.toFunLike.{u1, 0, u1} (RelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h) i)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i)
Case conversion may be inaccurate. Consider using '#align finset.coe_order_iso_of_fin_apply Finset.coe_orderIsoOfFin_applyₓ'. -/
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -229,7 +229,7 @@ theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s), Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Fin.hasLe k)) (fun (_x : RelIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) => (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) -> (Fin k)) (RelIso.hasCoeToFun.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) (OrderIso.symm.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOfₓ.{u1} α (fun (a : α) (b : α) => Eq.decidable.{u1} α _inst_1 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) x) (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (Function.Embedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, 1} (Function.Embedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (Function.instEmbeddingLikeEmbedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k))) (RelEmbedding.toEmbedding.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)))) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) (RelHomClass.toFunLike.{u1, u1, 0} (RelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_applyₓ'. -/
theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x : s) :
↑((s.orderIsoOfFin h).symm x) = (s.sort (· ≤ ·)).indexOfₓ x :=
@@ -240,7 +240,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i =
@@ -255,7 +255,7 @@ theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) i) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_mem Finset.orderEmbOfFin_memₓ'. -/
@[simp]
theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
@@ -267,7 +267,7 @@ theorem orderEmbOfFin_mem (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k)
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))) (Finset.toSet.{u1} α s)
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k), Eq.{succ u1} (Set.{u1} α) (Set.range.{u1, 1} α (Fin k) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))) (Finset.toSet.{u1} α s)
Case conversion may be inaccurate. Consider using '#align finset.range_order_emb_of_fin Finset.range_orderEmbOfFinₓ'. -/
@[simp]
theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
@@ -282,7 +282,7 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zeroₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `0` to the minimum of `s`. -/
theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -294,7 +294,7 @@ theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_lastₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `k-1` to the maximum of `s`. -/
theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -306,7 +306,7 @@ theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) α (LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Fin.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.hasSingleton.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Finset.card_singleton.{u1} α a)) i) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a))) i) a
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (a : α) (i : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (fun (_x : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) => LE.le.{0} (Fin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (instLEFin (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Finset.{u1} α) (Finset.instSingletonFinset.{u1} α) a) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Finset.card_singleton.{u1} α a)) i) a
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_singleton Finset.orderEmbOfFin_singletonₓ'. -/
/-- `order_emb_of_fin {a} h` sends any argument to `a`. -/
@[simp]
@@ -318,7 +318,7 @@ theorem orderEmbOfFin_singleton (a : α) (i : Fin 1) : orderEmbOfFin {a} (card_s
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.partialOrder k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : (Fin k) -> α}, (forall (x : Fin k), Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (f x) s) -> (StrictMono.{0, u1} (Fin k) α (PartialOrder.toPreorder.{0} (Fin k) (Fin.instPartialOrderFin k)) (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) f) -> (Eq.{succ u1} ((Fin k) -> α) f (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique Finset.orderEmbOfFin_uniqueₓ'. -/
/-- Any increasing map `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
@@ -337,7 +337,7 @@ theorem orderEmbOfFin_unique {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fin
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))}, (forall (x : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) f) x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) {f : OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))}, (forall (x : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) x) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) f x) s) -> (Eq.{succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) f (Finset.orderEmbOfFin.{u1} α _inst_1 s k h))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_unique' Finset.orderEmbOfFin_unique'ₓ'. -/
/-- An order embedding `f` from `fin k` to a finset of cardinality `k` has to coincide with
the increasing bijection `order_emb_of_fin s h`. -/
@@ -350,7 +350,7 @@ theorem orderEmbOfFin_unique' {s : Finset α} {k : ℕ} (h : s.card = k) {f : Fi
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (Fin.hasLe l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin l) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin l) α (LE.le.{0} (Fin l) (Fin.hasLe l)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin l) Nat (HasLiftT.mk.{1, 1} (Fin l) Nat (CoeTCₓ.coe.{1, 1} (Fin l) Nat (coeBase.{1, 1} (Fin l) Nat (Fin.coeToNat l)))) j))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) i) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin l) α) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin l) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin l) α) (Fin l) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin l) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h')) j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {k : Nat} {l : Nat} {s : Finset.{u1} α} {i : Fin k} {j : Fin l} {h : Eq.{1} Nat (Finset.card.{u1} α s) k} {h' : Eq.{1} Nat (Finset.card.{u1} α s) l}, Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) (fun (_x : Fin l) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin l) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin l) α (instLEFin l) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin l) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin l) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin l) => LE.le.{0} (Fin l) (instLEFin l) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfFin.{u1} α _inst_1 s l h') j)) (Eq.{1} Nat (Fin.val k i) (Fin.val l j))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iffₓ'. -/
/-- Two parametrizations `order_emb_of_fin` of the same set take the same value on `i` and `j` if
and only if `i = j`. Since they can be defined on a priori not defeq types `fin k` and `fin l`
@@ -377,7 +377,7 @@ def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat Nat.hasLe k (Finset.card.{u1} α s)) (a : Fin k), Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h)) a) s
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : LE.le.{0} Nat instLENat k (Finset.card.{u1} α s)) (a : Fin k), Membership.mem.{u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) a) (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) (FunLike.coe.{succ u1, 1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : Fin k) => α) _x) (RelHomClass.toFunLike.{u1, 0, u1} (OrderEmbedding.{0, u1} (Fin k) α (instLEFin k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))))) (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (RelEmbedding.instRelHomClassRelEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697))) (Finset.orderEmbOfCardLe.{u1} α _inst_1 s k h) a) s
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_card_le_mem Finset.orderEmbOfCardLe_memₓ'. -/
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
orderEmbOfCardLe s h a ∈ s := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/039ef89bef6e58b32b62898dd48e9d1a4312bb65
@@ -369,7 +369,7 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
is an order embedding from `fin k` to `α` whose image is contained in `s`. Specifically, it maps
`fin k` to an initial segment of `s`. -/
def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o α :=
- (Fin.castLe h).trans (s.orderEmbOfFin rfl)
+ (Fin.castLE h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -229,7 +229,7 @@ theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s), Eq.{1} Nat ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Fin.hasLe k)) (fun (_x : RelIso.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) => (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) -> (Fin k)) (RelIso.hasCoeToFun.{u1, 0} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin k) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))) (LE.le.{0} (Fin k) (Fin.hasLe k))) (OrderIso.symm.{0, u1} (Fin k) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) (Fin.hasLe k) (Subtype.hasLe.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)) x)) (List.indexOfₓ.{u1} α (fun (a : α) (b : α) => Eq.decidable.{u1} α _inst_1 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} α) Type.{u1} (Finset.hasCoeToSort.{u1} α) s) α (coeSubtype.{succ u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Finset.{u1} α) (Finset.hasMem.{u1} α) x s))))) x) (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (Function.Embedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, 1} (Function.Embedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (Function.instEmbeddingLikeEmbedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k))) (RelEmbedding.toEmbedding.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)))) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1780 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1780 x._@.Mathlib.Data.Finset.Sort._hyg.1782) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)), Eq.{1} Nat (Fin.val k (FunLike.coe.{succ u1, succ u1, 1} (Function.Embedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (fun (_x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => Fin k) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, 1} (Function.Embedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (Function.instEmbeddingLikeEmbedding.{succ u1, 1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k))) (RelEmbedding.toEmbedding.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, 0} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Fin k) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) => LE.le.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (OrderIso.symm.{0, u1} (Fin k) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (instLEFin k) (Subtype.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s)) (Finset.orderIsoOfFin.{u1} α _inst_1 s k h)))) x)) (List.indexOf.{u1} α (instBEq.{u1} α (fun (a : α) (b : α) => instDecidableEq.{u1} α _inst_1 a b)) (Subtype.val.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Finset.{u1} α) (Finset.instMembershipFinset.{u1} α) x s) x) (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1782 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1784 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1782 x._@.Mathlib.Data.Finset.Sort._hyg.1784) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))
Case conversion may be inaccurate. Consider using '#align finset.order_iso_of_fin_symm_apply Finset.orderIsoOfFin_symm_applyₓ'. -/
theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x : s) :
↑((s.orderIsoOfFin h).symm x) = (s.sort (· ≤ ·)).indexOfₓ x :=
@@ -240,7 +240,7 @@ theorem orderIsoOfFin_symm_apply (s : Finset α) {k : ℕ} (h : s.card = k) (x :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (List.length.{u1} α (Finset.sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (a : α) (b : α) => LE.le.decidable.{u1} α _inst_1 a b) (LE.le.isTrans.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))) (LE.le.isAntisymm.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))) (LE.le.isTotal.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) _a)) (rfl.{1} Prop (LT.lt.{0} Nat Nat.hasLt ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin k) Nat (HasLiftT.mk.{1, 1} (Fin k) Nat (CoeTCₓ.coe.{1, 1} (Fin k) Nat (coeBase.{1, 1} (Fin k) Nat (Fin.coeToNat k)))) i) (Finset.card.{u1} α s))) k h)) (Fin.property k i))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1839 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1841 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1839 x._@.Mathlib.Data.Finset.Sort._hyg.1841) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] (s : Finset.{u1} α) {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (i : Fin k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) i) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) i) (List.nthLe.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s) (Fin.val k i) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) (Eq.ndrec.{0, 1} Nat (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (List.length.{u1} α (Finset.sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s)))) (Finset.card.{u1} α s) (Finset.length_sort.{u1} α (fun (x._@.Mathlib.Data.Finset.Sort._hyg.1843 : α) (x._@.Mathlib.Data.Finset.Sort._hyg.1845 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Data.Finset.Sort._hyg.1843 x._@.Mathlib.Data.Finset.Sort._hyg.1845) (fun (a : α) (b : α) => instDecidableLeToLEToPreorderToPartialOrder.{u1} α _inst_1 a b) (instIsTransLeToLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) (instIsAntisymmLeToLEToPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1))))) (instIsTotalLeToLEToPreorderToPartialOrder.{u1} α _inst_1) s))) (Eq.mpr.{0} (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k) (id.{0} (Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) k)) (Eq.ndrec.{0, 1} Nat (Finset.card.{u1} α s) (fun (_a : Nat) => Eq.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s)) (LT.lt.{0} Nat instLTNat (Fin.val k i) _a)) (Eq.refl.{1} Prop (LT.lt.{0} Nat instLTNat (Fin.val k i) (Finset.card.{u1} α s))) k h)) (Fin.isLt k i))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_apply Finset.orderEmbOfFin_applyₓ'. -/
theorem orderEmbOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
s.orderEmbOfFin h i =
@@ -282,7 +282,7 @@ theorem range_orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2005 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2006 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2005) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2005) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) (Fin.mk k (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) hz)) (Finset.min'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2014 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2015 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2014) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2014) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_zero Finset.orderEmbOfFin_zeroₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `0` to the minimum of `s`. -/
theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
@@ -294,7 +294,7 @@ theorem orderEmbOfFin_zero {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 <
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) k), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderEmbedding.{0, u1} (Fin k) α (Fin.hasLe k) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1)))))) (fun (_x : RelEmbedding.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) => (Fin k) -> α) (RelEmbedding.hasCoeToFun.{0, u1} (Fin k) α (LE.le.{0} (Fin k) (Fin.hasLe k)) (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (LinearOrder.toLattice.{u1} α _inst_1))))))) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) k (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Buffer.lt_aux_2 k hz))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.subst.{1} Nat (fun (_x : Nat) => LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) _x) k (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h) hz)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2061 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2062 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2061) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2061) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrder.{u1} α] {s : Finset.{u1} α} {k : Nat} (h : Eq.{1} Nat (Finset.card.{u1} α s) k) (hz : LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) k), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (FunLike.coe.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) (fun (_x : Fin k) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Fin k) => α) _x) (EmbeddingLike.toFunLike.{succ u1, 1, succ u1} (Function.Embedding.{1, succ u1} (Fin k) α) (Fin k) α (Function.instEmbeddingLikeEmbedding.{1, succ u1} (Fin k) α)) (RelEmbedding.toEmbedding.{0, u1} (Fin k) α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.680 : Fin k) (x._@.Mathlib.Order.Hom.Basic._hyg.682 : Fin k) => LE.le.{0} (Fin k) (instLEFin k) x._@.Mathlib.Order.Hom.Basic._hyg.680 x._@.Mathlib.Order.Hom.Basic._hyg.682) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.695 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.697 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α (Lattice.toSemilatticeInf.{u1} α (DistribLattice.toLattice.{u1} α (instDistribLattice.{u1} α _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.695 x._@.Mathlib.Order.Hom.Basic._hyg.697) (Finset.orderEmbOfFin.{u1} α _inst_1 s k h)) (Fin.mk k (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Nat.sub_lt k (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) hz (Nat.succ_pos (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))) (Finset.max'.{u1} α _inst_1 s (Iff.mp (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) (Finset.card.{u1} α s)) (Finset.Nonempty.{u1} α s) (Finset.card_pos.{u1} α s) (Eq.rec.{0, 1} Nat k (fun (x._@.Mathlib.Data.Finset.Sort._hyg.2071 : Nat) (h._@.Mathlib.Data.Finset.Sort._hyg.2072 : Eq.{1} Nat k x._@.Mathlib.Data.Finset.Sort._hyg.2071) => LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) x._@.Mathlib.Data.Finset.Sort._hyg.2071) hz (Finset.card.{u1} α s) (Eq.symm.{1} Nat (Finset.card.{u1} α s) k h))))
Case conversion may be inaccurate. Consider using '#align finset.order_emb_of_fin_last Finset.orderEmbOfFin_lastₓ'. -/
/-- The bijection `order_emb_of_fin s h` sends `k-1` to the maximum of `s`. -/
theorem orderEmbOfFin_last {s : Finset α} {k : ℕ} (h : s.card = k) (hz : 0 < k) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -4,9 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Mario Carneiro
-/
import Mathlib.Order.RelIso.Set
-import Mathlib.Data.Fintype.Lattice
import Mathlib.Data.Multiset.Sort
import Mathlib.Data.List.NodupEquivFin
+import Mathlib.Data.Finset.Lattice
+import Mathlib.Data.Fintype.Card
#align_import data.finset.sort from "leanprover-community/mathlib"@"509de852e1de55e1efa8eacfa11df0823f26f226"
@@ -74,6 +74,7 @@ theorem sort_singleton (a : α) : sort r {a} = [a] :=
Multiset.sort_singleton r a
#align finset.sort_singleton Finset.sort_singleton
+open scoped List in
theorem sort_perm_toList (s : Finset α) : sort r s ~ s.toList := by
rw [← Multiset.coe_eq_coe]
simp only [coe_toList, sort_eq]
@@ -125,7 +125,7 @@ theorem sorted_last_eq_max'_aux (s : Finset α)
· have : s.max' H ∈ l := (Finset.mem_sort (α := α) (· ≤ ·)).mpr (s.max'_mem H)
obtain ⟨i, hi⟩ : ∃ i, l.get i = s.max' H := List.mem_iff_get.1 this
rw [← hi]
- exact (s.sort_sorted (· ≤ ·)).rel_nthLe_of_le _ _ (Nat.le_pred_of_lt i.prop)
+ exact (s.sort_sorted (· ≤ ·)).rel_nthLe_of_le _ _ (Nat.le_sub_one_of_lt i.prop)
#align finset.sorted_last_eq_max'_aux Finset.sorted_last_eq_max'_aux
theorem sorted_last_eq_max' {s : Finset α}
@@ -89,6 +89,9 @@ theorem sort_sorted_lt (s : Finset α) : List.Sorted (· < ·) (sort (· ≤ ·)
(sort_sorted _ _).lt_of_le (sort_nodup _ _)
#align finset.sort_sorted_lt Finset.sort_sorted_lt
+theorem sort_sorted_gt (s : Finset α) : List.Sorted (· > ·) (sort (· ≥ ·) s) :=
+ (sort_sorted _ _).gt_of_ge (sort_nodup _ _)
+
theorem sorted_zero_eq_min'_aux (s : Finset α) (h : 0 < (s.sort (· ≤ ·)).length) (H : s.Nonempty) :
(s.sort (· ≤ ·)).nthLe 0 h = s.min' H := by
let l := s.sort (· ≤ ·)
Prove Fin.sort_univ and List.indexOf_finRange discussed in https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/.E2.9C.94.20value.20of.20.60fintypeEquivFin.60
Co-authored-by: palalansoukî <73170405+iehality@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -259,3 +259,14 @@ unsafe instance [Repr α] : Repr (Finset α) where
if s.card = 0 then "∅" else repr s.1
end Finset
+
+namespace Fin
+
+theorem sort_univ (n : ℕ) : Finset.univ.sort (fun x y : Fin n => x ≤ y) = List.finRange n :=
+ List.eq_of_perm_of_sorted
+ (List.perm_of_nodup_nodup_toFinset_eq
+ (Finset.univ.sort_nodup _) (List.nodup_finRange n) (by simp))
+ (Finset.univ.sort_sorted LE.le)
+ (List.pairwise_le_finRange n)
+
+end Fin
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -19,7 +19,7 @@ namespace Finset
open Multiset Nat
-variable {α β : Type _}
+variable {α β : Type*}
/-! ### sort -/
See the attached tests
Previously this gave {[1, 2,\n 3], [4, 5, 6]}
, where the line break would be within items rather than between items.
@@ -253,7 +253,9 @@ theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
end SortLinearOrder
-unsafe instance [Repr α] : Repr (Finset α) :=
- ⟨fun s _ => repr s.1⟩
+unsafe instance [Repr α] : Repr (Finset α) where
+ reprPrec s _ :=
+ -- multiset uses `0` not `∅` for empty sets
+ if s.card = 0 then "∅" else repr s.1
end Finset
@@ -2,17 +2,14 @@
Copyright (c) 2017 Mario Carneiro. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Mario Carneiro
-
-! This file was ported from Lean 3 source module data.finset.sort
-! leanprover-community/mathlib commit 509de852e1de55e1efa8eacfa11df0823f26f226
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Order.RelIso.Set
import Mathlib.Data.Fintype.Lattice
import Mathlib.Data.Multiset.Sort
import Mathlib.Data.List.NodupEquivFin
+#align_import data.finset.sort from "leanprover-community/mathlib"@"509de852e1de55e1efa8eacfa11df0823f26f226"
+
/-!
# Construct a sorted list from a finset.
-/
Co-authored-by: Komyyy <pol_tta@outlook.jp> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -245,7 +245,7 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
is an order embedding from `Fin k` to `α` whose image is contained in `s`. Specifically, it maps
`Fin k` to an initial segment of `s`. -/
def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o α :=
- (Fin.castLE h).trans (s.orderEmbOfFin rfl)
+ (Fin.castLEEmb h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
@@ -147,7 +147,7 @@ is the increasing bijection between `Fin k` and `s` as an `OrderIso`. Here, `h`
the cardinality of `s` is `k`. We use this instead of an iso `Fin s.card ≃o s` to avoid
casting issues in further uses of this function. -/
def orderIsoOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ≃o s :=
- OrderIso.trans (Fin.cast ((length_sort (α := α) (· ≤ ·)).trans h).symm) <|
+ OrderIso.trans (Fin.castIso ((length_sort (α := α) (· ≤ ·)).trans h).symm) <|
(s.sort_sorted_lt.getIso _).trans <| OrderIso.setCongr _ _ <| Set.ext fun _ => mem_sort _
#align finset.order_iso_of_fin Finset.orderIsoOfFin
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -239,8 +239,7 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
s.orderEmbOfFin h i = s.orderEmbOfFin h' j ↔ (i : ℕ) = (j : ℕ) := by
substs k l
exact (s.orderEmbOfFin rfl).eq_iff_eq.trans Fin.ext_iff
-#align
- finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iff
+#align finset.order_emb_of_fin_eq_order_emb_of_fin_iff Finset.orderEmbOfFin_eq_orderEmbOfFin_iff
/-- Given a finset `s` of size at least `k` in a linear order `α`, the map `orderEmbOfCardLe`
is an order embedding from `Fin k` to `α` whose image is contained in `s`. Specifically, it maps
@@ -246,7 +246,7 @@ theorem orderEmbOfFin_eq_orderEmbOfFin_iff {k l : ℕ} {s : Finset α} {i : Fin
is an order embedding from `Fin k` to `α` whose image is contained in `s`. Specifically, it maps
`Fin k` to an initial segment of `s`. -/
def orderEmbOfCardLe (s : Finset α) {k : ℕ} (h : k ≤ s.card) : Fin k ↪o α :=
- (Fin.castLe h).trans (s.orderEmbOfFin rfl)
+ (Fin.castLE h).trans (s.orderEmbOfFin rfl)
#align finset.order_emb_of_card_le Finset.orderEmbOfCardLe
theorem orderEmbOfCardLe_mem (s : Finset α) {k : ℕ} (h : k ≤ s.card) (a) :
List.Sorted
(#2311)
List.Sorted.le_of_lt
and List.Sorted.lt_of_le
(new).List.Sorted.rel_get_of_lt
and List.Sorted.rel_get_of_le
(get
versions of nthLe
lemmas).List.sorted_ofFn_iff
, List.sorted_lt_ofFn_iff
, and List.sorted_le_ofFn_iff
(new).List.monotone_iff_ofFn_sorted
in favor of List.sorted_le_ofFn_iff
.List.Monotone.ofFn_sorted
to Monotone.ofFn_sorted
. In Lean 3, dot notation hf.of_fn_sorted
used lift.monotone.of_fn_sorted
if the list
namespace is open. This is no longer the case in Lean 4.@@ -89,7 +89,7 @@ section SortLinearOrder
variable [LinearOrder α]
theorem sort_sorted_lt (s : Finset α) : List.Sorted (· < ·) (sort (· ≤ ·) s) :=
- (sort_sorted _ _).imp₂ (@lt_of_le_of_ne _ _) (sort_nodup _ _)
+ (sort_sorted _ _).lt_of_le (sort_nodup _ _)
#align finset.sort_sorted_lt Finset.sort_sorted_lt
theorem sorted_zero_eq_min'_aux (s : Finset α) (h : 0 < (s.sort (· ≤ ·)).length) (H : s.Nonempty) :
@@ -157,7 +157,7 @@ proof that the cardinality of `s` is `k`. We use this instead of an embedding `F
avoid casting issues in further uses of this function. -/
def orderEmbOfFin (s : Finset α) {k : ℕ} (h : s.card = k) : Fin k ↪o α :=
(orderIsoOfFin s h).toOrderEmbedding.trans (OrderEmbedding.subtype _)
-#align finset.orderEmbOfFin Finset.orderEmbOfFin
+#align finset.order_emb_of_fin Finset.orderEmbOfFin
@[simp]
theorem coe_orderIsoOfFin_apply (s : Finset α) {k : ℕ} (h : s.card = k) (i : Fin k) :
The unported dependencies are