這篇研究論文探討了用於描述確定性計算的代數的表達能力。作者首先介紹了Kleene代數及其擴展,即帶有測試的Kleene代數(KAT)和帶有測試的守衛Kleene代數(GKAT),它們為分別描述非確定性和確定性程序提供了一個框架。
論文的核心論點是,任何有限組正規控制流運算元,無論選擇哪一種,都無法完全表達所有確定性計算。換句話說,總是存在無法僅通過組合這些運算元來表達的確定性控制流。
作者通過引入「正規控制流運算元」的概念來形式化他們的論點,該概念概括了常見的程序組合,包括GKAT無法表達的確定性控制流運算(例如「重複執行直到條件改變」)。然後,他們證明對於任何此類運算元的有限集合,都存在一個無法由該集合中的運算元組合表示的正規控制流運算。
該論文還探討了確定性的概念,並證明了確定KAT表達式等同於函數保持KAT表達式。此外,它還建立了確定性控制流運算元是否是確定性的判定問題是coNP完全的。
總之,這篇論文對確定性控制流的本質提供了理論見解,證明了基於任何有限組正規控制流運算元的代數系統都必然是不完整的。這一發現對程序語言研究,特別是對控制流表達能力和程序分析工具的設計具有影響。
翻譯成其他語言
從原文內容
arxiv.org
深入探究