2024 年 41 巻 3 号 p. 3_34-3_40
プログラムの出力から入力を求めることを逆計算という.本論文では同期的データフロープログラミングにおける逆計算を扱い,特に,順計算と逆計算の両方を逐次的に行えるという性質を保証しながらプログラムを構成する手法について議論する.同期的データフロープログラムは,全ての入力を読み込んで出力を返して停止するのではなく,時間的な列として順に与えられる入力に対して出力を返し続けなければならない.したがってその逆計算の手法は一般的なパラダイムのものと異なる.本論文では同期的データフロープログラミングのパラダイムを列の変換としてモデル化し,それに対する逐次的な逆計算の概念を定義する.さらに,逐次的な逆計算が可能なシステムを単射部分関数を用いて構成する方法を定義することで,逐次的な逆計算のための制約を部分関数の単射性に帰着する.この議論は逐次的な逆計算を保証する同期的データフロー言語の設計の指針になりうる.