Skip to content

Commit 54d30b7

Browse files
committed
feat: add Finset.cons_swap (#17413)
``` (s.cons a _).cons b _ = (s.cons b _).cons a _ ``` Co-authored-by: qawbecrdtey <qawbecrdtey@naver.com> Co-authored-by: qawbecrdtey <40463813+qawbecrdtey@users.noreply.github.com>
1 parent eb8e7ea commit 54d30b7

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Mathlib/Data/Finset/Basic.lean

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,6 +807,11 @@ theorem ssubset_iff_exists_cons_subset : s ⊂ t ↔ ∃ (a : _) (h : a ∉ s),
807807
obtain ⟨a, hs, ht⟩ := not_subset.1 h.2
808808
exact ⟨a, ht, cons_subset.2 ⟨hs, h.subset⟩⟩
809809

810+
theorem cons_swap (hb : b ∉ s) (ha : a ∉ s.cons b hb) :
811+
(s.cons b hb).cons a ha = (s.cons a fun h ↦ ha (mem_cons.mpr (.inr h))).cons b fun h ↦
812+
ha (mem_cons.mpr (.inl ((mem_cons.mp h).elim symm (fun h ↦ False.elim (hb h))))) :=
813+
eq_of_veq <| Multiset.cons_swap a b s.val
814+
810815
end Cons
811816

812817
/-! ### disjoint -/
@@ -3093,4 +3098,4 @@ def proveFinsetNonempty {u : Level} {α : Q(Type u)} (s : Q(Finset $α)) :
30933098

30943099
end Mathlib.Meta
30953100

3096-
set_option linter.style.longFile 3100
3101+
set_option linter.style.longFile 3200

0 commit comments

Comments
 (0)