Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 8d90fcd

Browse files
feat(data/finset/basic): Add coe_pair lemmas (#16235)
Adds `coe_pair` lemmas to go with `coe_singleton` and `coe_eq_singleton` (and fixes a couple of style issues).
1 parent 370cc48 commit 8d90fcd

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/data/finset/basic.lean

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -446,9 +446,8 @@ singleton_injective.eq_iff
446446
@[simp, norm_cast] lemma coe_singleton (a : α) : (({a} : finset α) : set α) = {a} :=
447447
by { ext, simp }
448448

449-
@[simp, norm_cast] lemma coe_eq_singleton {α : Type*} {s : finset α} {a : α} :
450-
(s : set α) = {a} ↔ s = {a} :=
451-
by rw [←finset.coe_singleton, finset.coe_inj]
449+
@[simp, norm_cast] lemma coe_eq_singleton {s : finset α} {a : α} : (s : set α) = {a} ↔ s = {a} :=
450+
by rw [←coe_singleton, coe_inj]
452451

453452
lemma eq_singleton_iff_unique_mem {s : finset α} {a : α} :
454453
s = {a} ↔ a ∈ s ∧ ∀ x ∈ s, x = a :=
@@ -611,8 +610,7 @@ lemma mem_of_mem_insert_of_ne (h : b ∈ insert a s) : b ≠ a → b ∈ s := (m
611610
lemma eq_of_not_mem_of_mem_insert (ha : b ∈ insert a s) (hb : b ∉ s) : b = a :=
612611
(mem_insert.1 ha).resolve_right hb
613612

614-
@[simp] theorem cons_eq_insert {α} [decidable_eq α] (a s h) : @cons α a s h = insert a s :=
615-
ext $ λ a, by simp
613+
@[simp] theorem cons_eq_insert (a s h) : @cons α a s h = insert a s := ext $ λ a, by simp
616614

617615
@[simp, norm_cast] lemma coe_insert (a : α) (s : finset α) :
618616
↑(insert a s) = (insert a s : set α) :=
@@ -636,8 +634,13 @@ insert_eq_of_mem $ mem_singleton_self _
636634
theorem insert.comm (a b : α) (s : finset α) : insert a (insert b s) = insert b (insert a s) :=
637635
ext $ λ x, by simp only [mem_insert, or.left_comm]
638636

639-
theorem pair_comm (a b : α) : ({a, b} : finset α) = {b, a} :=
640-
insert.comm a b ∅
637+
@[simp, norm_cast] lemma coe_pair {a b : α} :
638+
(({a, b} : finset α) : set α) = {a, b} := by { ext, simp }
639+
640+
@[simp, norm_cast] lemma coe_eq_pair {s : finset α} {a b : α} :
641+
(s : set α) = {a, b} ↔ s = {a, b} := by rw [←coe_pair, coe_inj]
642+
643+
theorem pair_comm (a b : α) : ({a, b} : finset α) = {b, a} := insert.comm a b ∅
641644

642645
@[simp] theorem insert_idem (a : α) (s : finset α) : insert a (insert a s) = insert a s :=
643646
ext $ λ x, by simp only [mem_insert, or.assoc.symm, or_self]

0 commit comments

Comments
 (0)