arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 1607.00633cs.LO
收藏

逻辑程序设计中的优先级、切割、如果-则-否则和异常处理

Priority, Cut, If-Then-Else and Exception Handling in Logic Programming

Keehang Kwon

摘要:

逻辑编程中一个长期存在的问题是以高级方式表达与{ \it priority}相关的操作-默认推理,if-then-else,cut,异常处理等。我们认为,这个问题可以通过采用可计算性逻辑和优先顺序析取目标公式的形式$G_0 \bigtriangledown^* G_1$其中$G_0, G_1$的目标。这些目标具有以下预期语义:顺序地$choose$第一个真目标$G_i$并执行$G_i$,其中$i (= 0\ {\rm or}\ 1)$。因此,这些目标允许我们使用故障处理(异常处理)例程$G_1$指定任务$G_0$。这个新目标也可以被看作是命令式语言中的$if$ - $then$ - $else$语句的逻辑等价物。我们还讨论了顺序-析取目标的顺序-合取分句。

英文摘要:

One of the long-standing problems on logic programming is to express {\it priority}-related operations -- default reasoning, if-then-else, cut, exception handling, etc -- in a high-level way. We argue that this problem can be solved by adopting computability logic and prioritized sequential-disjunctive goal formulas of the form $G_0 \bigtriangledown^* G_1$ where $G_0, G_1$ are goals. These goals have the following intended semantics: sequentially $choose$ the first true goal $G_i$ and execute $G_i$ where $i (= 0\ {\rm or}\ 1)$. These goals thus allow us to specify a task $G_0$ with the failure-handling (exception handling) routine $G_1$. This new goal can also be seen as a logic-equivalent of the $if$-$then$-$else$ statement in imperative language. We also discuss sequential-conjunction clauses which are {\it dual} of sequential-disjunctive goals.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑