豊福です。

児玉さん
> もしかして, 上の R(n) を Integer の n と読替えても可?
> それなら, 抽象的な R との演算を各環で定義する代わりに,
> Integer との演算を上の式に沿って定義しておくという,
> わりとおとなしい方針で何とかなる.

  私も書いた後「Integer とどこが違うんだ?」と思ったのですが

[ruby-math:00359]
|> ただ, 値として持たせるのは問題があって,
|> 1 を持たせてしまって,
|> これを足すと 任意に整数を作れてしまうので
|
| ああ,なるほど.1 と同一視するのはまずい.そっかー.
| 「同一視」と曖昧な表現を使いましたが,
| 有限体の零元を整数 0 のオブジェクトにしちゃうと
| 整数クラスと混じっちゃって 0.succ (とか 0.succ.succ)の意味が
| 変わっちゃったりするので困るかもしれないなーと,考えはじめました.
|
|> 結局, 環の方で, 1,0 だけでなく
|> 整数を適当に同一視して扱う必要が出てしまう.
|> ここで, __整数を含まない環__ の演算, 
|> 例えば, 有限体の商を意図したのに
|> # いや Rational の商を得たい場合とかでも問題だけど.
|> Integer での商になってしまうと矛盾が出るわけで,
|> coerce では吸収できないみたい.

がなんとなく気にかかっていたもので。
  Polynomialクラス内部で使うだけなら Integer でよいの
かもしれません。
---
                                豊福
                                toyofuku / juice.or.jp