haskell-jp / questions #96 at 2021-04-29 21:07:11 +0900

simultaneous and mutually recursive definitions ってどう訳すればいいと思います?
とりあえず、「相互再帰による定義」で良いのか知りたいです。 simultaneous recursion と mutual recursion の違いがよくわかってません。
Nobuyuki Tomizawa
simultaneousのほうはとか出てくる授業とかで出てくる内容…だと思う)方面に関連するようなのですが、これ以上は猛烈な力不足で私にはどうにも :slightly_smiling_face:
simultaneous induction は同時帰納法と訳されることが多いですね.

* simultaneous induction は複数の帰納ステップを並列して (多くの場合は交互的に) 進める帰納法全般を指し recursion の variation としては multiple recursion が対応するはずです
* ただ,structural induction の variation として狭義的には,複数の judgement にまたがる帰納ステップを持つ帰納を指すので,そっちの方は mutual recursion に対応すると思います

結局,元の質問で言うと,訳はどういうことを伝えたいかによると思いますが,これはどこかの文書の言葉を訳したいという話なんですか?
https://ja.wikipedia.org/w/index.php?title=%E9%96%A2%E6%95%B0%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&oldid=83239750
ここでの「 let 節と where 節を導入して、そこに同時再帰と相互再帰の概念も含めた」の所です。
Conception, evolution, and application of functional programming languages の p. 371 の所にあります。
ここでの simultaneously というのはそこまで厳格な意味はないように見えますね.それまで定義順が大事だったのと対比して,定義順が順不同 (simultaneously) で,相互的であっても (mutually) 良いような表記法を導入したと言ってるように見えます.原文の意図としては相互的であることに踏まえて,定義順によらないことを強調したかったということのように見えます

それならば,訳は同時的かつ相互的再帰的定義で良いような気はしますね
なるほど、 simultaneously は、順序なく同時に定義するという感じに訳すれば良さそうですね! simultaneous induction という言葉をなまじ知っていたせいで、これに関連するのかと思って、かえって混乱してしまいました。この場合は、一般的な意味を持つ言葉として捉えれば良かったんですね。