例外処理を持つ関数型プログラムの停止性・非停止性証明法
Year: 2011
Type: article
Abstract: We present a proving method of termination/non-termination for functional programs based on eager-evaluation with exception handling. We give a transformation of functional programs into Context-Sensitive Term Rewriting Systems (CS-TRSs). This enables us to use recent-developed termination provers for CS-TRSs as termination provers for functional programs. Since eager-evaluation computes a return value of a function after all values of its arguments are computed in right-to-left order, this evaluation corresponds to the innermost reduction on generated TRSs. The termination property is affected by the occurrences of non-terminating argument and exception-raising argument. This means that we have to handle the evaluation order strictly. Thus we used context sensitiveness for this purpose and design the transformation producing rewrite rules, that repeatedly pass back an exception to the caller until it is handled when exception occurs. We prove the soundness and completeness of the transformation, that is, the innermost termination of the CS-TRS implies the termination of the program and vise versa. This allows us to prove (non-)termination of programs by proving (non-)termination of CS-TRSs.
Language: Japanese
Subfield: Software
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W7146418896
