【发布时间】:2021-06-09 10:19:45
【问题描述】:
约束的偏序规则定义为:
[temp.constr.order#1]
一个约束 P 包含一个约束 Q 当且仅当,对于 P 的析取范式中的每个析取子句 Pi,Pi 包含每个析取子句 Q j 在 Q 的合取范式中,其中
- 一个分离子句 Pi 包含一个连接子句 Qj 当且仅当在 Pia >i 在 Qj 中存在原子约束 Qjb 使得 Pia 包含 Qjb,和
- 一个原子约束 A 包含另一个原子约束 B 当且仅当 A 和 B 使用 [temp.constr.atomic] 中描述的规则相同。
我不知道如何获得给定约束的析取和合取范式。此外,我对第二个项目符号有些困惑。
问题一:
给定一个名为 P 的约束,其形式为 A ∧ B,另一个名为 Q 的约束,形式为 A,其中 A 和 B 都是原子约束。对于约束P 它的析取范式是什么?而Q的合取和析取范式是什么?
问题2:
那Pi和Qj是取自其析取/合取范式对应位置的从句吗?特别是,当且仅当在 Pi 中存在原子约束 Pia 且存在原子约束 Qjb时,如何理解句子> 在 Qj 中,使得 Pia 包含 Qjb?如何解释Qi 具有 Pi 没有的额外原子约束的情况? P 包含 Q 吗?您能否给出一个阐述过程来解释为什么A ∧ B 包含A?
【问题讨论】:
-
请添加报价链接。
-
@largest_prime_is_463035818 已添加。
-
@dfrib 是的,我找到了一个很棒的online logic calculator,它可以帮助我将公式转换为它的 CNF 或 DNF,以便分析相关规则。
标签: c++ language-lawyer c++20