@@ -1292,7 +1292,8 @@ def is_semidistributive(self):
12921292
12931293 - Weaker properties: :meth:`is_join_semidistributive`,
12941294 :meth:`is_meet_semidistributive`
1295- - Stronger properties: :meth:`is_distributive`
1295+ - Stronger properties: :meth:`is_distributive`,
1296+ :meth:`is_congruence_uniform`
12961297
12971298 TESTS::
12981299
@@ -3549,7 +3550,7 @@ def day_doubling(self, S):
35493550 True
35503551 """
35513552 # Rationale for naming of elements: a lattice can have
3552- # elements 1, (1, 1), (1, (1, 1)) and so on. We can't just
3553+ # elements 1, (1, 1), (1, (1, 1)) and so on. We cannot just
35533554 # make a copy of S with elements (s, 1).
35543555
35553556 # The construction could be defined for any convex
@@ -3954,7 +3955,7 @@ def is_sublattice_dismantlable(self):
39543955
39553956 Add a certificate-option.
39563957 """
3957- # Todo: This can be made much faster, if we don't regenerate meet- and
3958+ # Todo: This can be made much faster, if we do not regenerate meet- and
39583959 # join-matrices every time, but instead remove some rows and columns
39593960 # from them.
39603961
@@ -4270,7 +4271,7 @@ def is_constructible_by_doublings(self, type) -> bool:
42704271
42714272 The congruence lattice of this lattice has maximal chains satisfying the needed
42724273 property, but also maximal chains not satisfying that; this shows that the code
4273- can't be optimized to test just some maximal chain::
4274+ cannot be optimized to test just some maximal chain::
42744275
42754276 sage: L = LatticePoset(DiGraph('QSO?I?_?_GBG??_??a???@?K??A??B???C??s??G??I??@??A??@???'))
42764277 sage: L.is_constructible_by_doublings('convex')
@@ -4343,6 +4344,29 @@ def splitting_depth_2(a, b):
43434344 todo .append (e_up )
43444345 return False
43454346
4347+ def is_congruence_uniform (self ) -> bool :
4348+ """
4349+ Return whether ``self`` is congruence uniform.
4350+
4351+ This is equivalent to being constructible by doubling intervals.
4352+
4353+ .. SEEALSO:: :meth:`is_constructible_by_doublings`
4354+
4355+ EXAMPLES::
4356+
4357+ sage: P = posets.PentagonPoset()
4358+ sage: P.is_congruence_uniform()
4359+ True
4360+ sage: P = posets.DiamondPoset(5)
4361+ sage: P.is_congruence_uniform()
4362+ False
4363+
4364+ REFERENCES:
4365+
4366+ - [Day1979]_
4367+ """
4368+ return self .is_constructible_by_doublings (type = "interval" )
4369+
43464370 def is_isoform (self , certificate = False ):
43474371 """
43484372 Return ``True`` if the lattice is isoform and ``False`` otherwise.
0 commit comments