existential magic wand(存在魔法魔杖)算子的作用与预期语义是什么?
我正在尝试理解“existential magic wand”算子的作用。我了解到
(P * Q) -o R = P -o (Q -o R)显然是柯里化的一种形式,而|> (P -o Q) = |> P -o |> Q只是一条分配公理。
但ewand_TT_sepcon((P * Q) && (R -o TT) |-- (P && (R -o TT)) * (Q && (R -o TT)))、exclude_elsewhere(P * Q |-- (P && (Q -o TT)) * Q)以及ewand_conflict(P * Q |-- FF -> P && (Q -o R) |-- FF)这几条公理令我感到困惑。
请问existential magic wand的预期语义具体是什么?
首先明确符号约定:*为分离合取(要求两个断言作用在不相交的堆上),|--为语义蕴含,TT为永真断言,FF为永假断言,&&为普通逻辑合取。
你提到的带ewand前缀的公理对应的存在性魔法棒,和标准全称量化分离魔法棒(普通魔杖)的核心差异在于对拼接堆的量化方向:
- 普通分离魔法棒
P -o Q语义:当前堆和任意不相交、满足P的堆合并后,结果都满足Q - 存在性魔法棒
P -o Q语义:当前堆存在至少一个不相交、满足P的堆,两者合并后结果满足Q
这个核心定义可以直接解释你困惑的三条公理:
1. ewand_TT_sepcon规则
(P * Q) && (R -o TT) |-- (P && (R -o TT)) * (Q && (R -o TT))R -o TT的含义是当前堆存在可拼接的R堆(拼接后任何结果都满足永真TT)。如果当前堆可以拆成不相交的P、Q两个子堆,且整体存在可拼接的R堆,那么R堆也可以拆成和P不相交、和Q不相交的两部分,因此P、Q子堆各自都满足R -o TT,拆分后的分离合取自然成立。
2. exclude_elsewhere规则
P * Q |-- (P && (Q -o TT)) * Q
如果当前堆已经可以拆成不相交的P堆和Q堆,那么对于P子堆来说,已经真实存在可以拼接的Q堆,因此P天然满足Q -o TT,和P本身合取后再和Q做分离合取必然成立。
3. ewand_conflict规则
P * Q |-- FF -> P && (Q -o R) |-- FF
如果P * Q永假,说明P和Q的断言要求根本不可能出现在两个不相交的堆上,自然不可能存在满足P的堆还能拼接上满足Q的堆,因此P && (Q -o R)也必然永假。
你之前了解的柯里化规则、模态分配公理,对存在性魔法棒和普通全称魔法棒都适用,两类算子的核心差异就只有量化方向的区别。
内容的提问来源于stack exchange,提问作者NoLongerBreathedIn

