1 | initial version |

In the first case, your `R`

is of type

```
sage: type(R)
<type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular'>
```

In the second case,

```
sage: type(R)
<class 'sage.rings.polynomial.polynomial_ring.PolynomialRing_field_with_category'>
```

Unfortunately, those univariate polynomial rings to not offer the `.cover()`

method.

I agree that univariate polynomials should inherit from features of multivariate polynomials, but this is currently not the case.

Here is a tricky workaround: define your univariate polynomial ring as a multivariate polynomial ring with one variable !

```
sage: R.<T>=PolynomialRing(QQ, 1) ; R
Multivariate Polynomial Ring in T over Rational Field
sage: Q=R.quo((T^2))
sage: pi=Q.cover()
sage: pi(T)
Tbar
```

2 | No.2 Revision |

In the first case, your `R`

is of type

```
sage: type(R)
<type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular'>
```

In the second case,

```
sage: type(R)
<class 'sage.rings.polynomial.polynomial_ring.PolynomialRing_field_with_category'>
```

Unfortunately, those univariate polynomial rings ~~to ~~do not offer the `.cover()`

method.

I agree that univariate polynomials should inherit from features of multivariate polynomials, but this is currently not the case.

Here is a tricky workaround: define your univariate polynomial ring as a multivariate polynomial ring with one variable !

```
sage: R.<T>=PolynomialRing(QQ, 1) ; R
Multivariate Polynomial Ring in T over Rational Field
sage: Q=R.quo((T^2))
sage: pi=Q.cover()
sage: pi(T)
Tbar
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.