1 | initial version |

Remove the `verbose=False`

option and you will see the problem ! `f`

is redefined when you call `SF.inject_shorthands()`

.

2 | No.2 Revision |

Remove the `verbose=False`

option and you will see the problem ! `f`

is redefined when you call `SF.inject_shorthands()`

.

Note that, while `f`

and `g`

are not of the same type, they have the same parent:

```
sage: parent(f)
Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
sage: parent(g)
Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
```

And, if you redefine `f`

after it has been overwritten by `SF.inject_shorthands()`

, you get:

```
sage: f == g
True
```

sage: f == g True

3 | No.3 Revision |

Remove the `verbose=False`

option and you will see the ~~problem ! ~~problem: `f`

is redefined when you call `SF.inject_shorthands()`

~~.~~ !

Note that, while `f`

and `g`

are not of the same type, they have the same parent:

```
sage: parent(f)
Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
sage: parent(g)
Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
```

And, if you redefine `f`

after it has been overwritten by `SF.inject_shorthands()`

, you get:

```
sage: f == g
True
```

sage: f == g True

4 | No.4 Revision |

Remove the `verbose=False`

option and you will see the problem: `f`

is redefined when you call `SF.inject_shorthands()`

!

Note that, while `f`

and `g`

are not of the same type, they have the same parent:

```
sage: parent(f)
Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
sage: parent(g)
Multivariate Polynomial Ring in x0, x1, x2 over Rational Field
```

And, if you redefine `f`

after it has been overwritten by `SF.inject_shorthands()`

, you get:

```
sage: f == g
True
```

sage: f == g True

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.