From 7bd98f331d53092897ae5161380dc89cc8235958 Mon Sep 17 00:00:00 2001 From: Aram Dermenjian Date: Mon, 2 Sep 2024 17:05:40 -0700 Subject: [PATCH 1/5] Allow for python sets to be counted as sets --- src/sage/combinat/subset.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sage/combinat/subset.py b/src/sage/combinat/subset.py index 5fea2f5f97b..68deef36a57 100644 --- a/src/sage/combinat/subset.py +++ b/src/sage/combinat/subset.py @@ -323,7 +323,10 @@ def __contains__(self, value): False """ if value not in Sets(): - return False + if isinstance(value, set): + value = Set(value) + else: + return False return all(v in self._s for v in value) def cardinality(self): From b5c0f3ea0328c13547bdbcbc3367e0fe23e6234f Mon Sep 17 00:00:00 2001 From: Aram Dermenjian Date: Mon, 2 Sep 2024 17:08:10 -0700 Subject: [PATCH 2/5] Add test for allowing python sets --- src/sage/combinat/subset.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sage/combinat/subset.py b/src/sage/combinat/subset.py index 68deef36a57..dba4e2459c0 100644 --- a/src/sage/combinat/subset.py +++ b/src/sage/combinat/subset.py @@ -321,6 +321,8 @@ def __contains__(self, value): True sage: 2 in S False + sage: {1, 2} in S + True """ if value not in Sets(): if isinstance(value, set): From 65d09cedbc20e7bc3e9032641d4682b9989821b6 Mon Sep 17 00:00:00 2001 From: Aram Dermenjian Date: Tue, 3 Sep 2024 15:58:18 +0100 Subject: [PATCH 3/5] Update src/sage/combinat/subset.py Co-authored-by: Travis Scrimshaw --- src/sage/combinat/subset.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/sage/combinat/subset.py b/src/sage/combinat/subset.py index dba4e2459c0..28fc97bfe34 100644 --- a/src/sage/combinat/subset.py +++ b/src/sage/combinat/subset.py @@ -325,10 +325,7 @@ def __contains__(self, value): True """ if value not in Sets(): - if isinstance(value, set): - value = Set(value) - else: - return False + return False return all(v in self._s for v in value) def cardinality(self): From 234acb63eabd14950d6b5d404cd50796c2d3d795 Mon Sep 17 00:00:00 2001 From: Aram Dermenjian Date: Tue, 3 Sep 2024 15:58:30 +0100 Subject: [PATCH 4/5] Update src/sage/combinat/subset.py Co-authored-by: Travis Scrimshaw --- src/sage/combinat/subset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/combinat/subset.py b/src/sage/combinat/subset.py index 28fc97bfe34..7b95c7d8fa1 100644 --- a/src/sage/combinat/subset.py +++ b/src/sage/combinat/subset.py @@ -324,7 +324,7 @@ def __contains__(self, value): sage: {1, 2} in S True """ - if value not in Sets(): + if value not in Sets() and not isinstance(value, (set,frozenset)): return False return all(v in self._s for v in value) From 8035d12c4423290a585edb3436f8ba952e05e924 Mon Sep 17 00:00:00 2001 From: Aram Dermenjian Date: Tue, 3 Sep 2024 15:45:27 -0700 Subject: [PATCH 5/5] Fix comma space --- src/sage/combinat/subset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/combinat/subset.py b/src/sage/combinat/subset.py index 7b95c7d8fa1..6c8d923ce9f 100644 --- a/src/sage/combinat/subset.py +++ b/src/sage/combinat/subset.py @@ -324,7 +324,7 @@ def __contains__(self, value): sage: {1, 2} in S True """ - if value not in Sets() and not isinstance(value, (set,frozenset)): + if value not in Sets() and not isinstance(value, (set, frozenset)): return False return all(v in self._s for v in value)