Opened 3 years ago

Last modified 2 years ago

## #23310 new defect

# BooleanPolynomialRings are finite but don't know it.

Reported by: | msaaltink | Owned by: | |
---|---|---|---|

Priority: | minor | Milestone: | sage-8.0 |

Component: | algebra | Keywords: | |

Cc: | Merged in: | ||

Authors: | Reviewers: | ||

Report Upstream: | N/A | Work issues: | |

Branch: | Commit: | ||

Dependencies: | Stopgaps: |

### Description

sage: B.<a> = BooleanPolynomialRing() sage: B.is_finite() False

Yet B only has four elements: 0, 1, a, and 1+a.

### Change History (3)

### comment:1 Changed 3 years ago by

### comment:2 Changed 3 years ago by

I suspect a large number of the problems come from the fact that `BooleanPolynomialRing`

inherits from `MPolynomialRing_generic`

, which makes (natural) assumptions that each variable is free. I'd guess there are probably a number of other methods that suffer from similar fates.

### comment:3 Changed 2 years ago by

There are a few more problems due to the inheritance. `construction`

looks wrong

sage: B.<a> = BooleanPolynomialRing() sage: F, Q = B.construction() sage: F(Q) Univariate Polynomial Ring in a over Finite Field of size 2 (using NTL) sage: _ is B False

as is the Krull dimension, which should be 0

sage: B.krull_dimension() 1

but other methods look OK.

There some errors in the categories `B`

is placed in. For example

sage: B in IntegralDomains True sage: a * (1+a) 0

There are zero divisors, so `B`

is certainly not an Integral Domain.

sage: B in PrincipalIdealDomains True

It is true that all ideals of `B`

are principal, but as it is not a domain it is not a PID.

**Note:**See TracTickets for help on using tickets.

We also have