types - 评价关系在 PIL 斯的书中 : meaning of "a relation satisfies a rule if ..."

标签 types programming-languages

皮尔斯在他的 book 中写道在定义。 3.5.2:

A rule is satisfied by a relation if, for each instance of the rule, either the conclusion is in the relation or one of the premises is not.



所以这意味着如果一个关系(它是一组术语对,其中对表示为 t->t' )包含元素 true->false那么该关系也满足图 3-1 中给出的规则,因为定义 3.5.2 不禁止在关系中出现这些不是规则结论实例的元素。

因此,换句话说,元素 true->false不是 E-IF 结论的一个实例,所以定义 3.5.2 没有说明是否 true->false可以是满足或不满足图 3-1 规则的关系。定义 3.5.2 只讨论具有形式 " if .... then .... -> .... " 的关系元素,但没有明确禁止(或实际上说任何关于)元素的存在 true->false , 例如。

问题 : 我的这种理解对吗?

enter image description here
enter image description here
enter image description here

最佳答案

是的,你是对的。一个关系可以满足规则,同时也包含不符合规则的对。

例如,如果 R是文中呈现的评价关系,满足图3-1中的所有规则,则关系R加上你的一对 true -> false也满足所有规则。这是有道理的,因为任何关系都必须单独满足每个规则;如果我们不允许额外的对,那么关系 { if true then true else false -> true, if false then true else false -> false }不会单独满足 E-IfTrue,因为第二个元素不能由 E-IfTrue 证明。如果该关系不能孤立地满足该单一规则,则它不能满足所呈现的所有三个规则。因此,在满足推理规则时,允许额外的“不合理”对。

话虽如此,下一个定义 3.5.3 明确省略了像 true -> false 这样的对。通过指定它是满足所有三个规则的最小关系来从正在讨论的特定关系。虽然我们可以讨论一个更大的关系,但这个限制意味着,用皮尔斯的话来说,“一个陈述 t -> t' 是可推导出的,如果它是由规则证明的。”

关于types - 评价关系在 PIL 斯的书中 : meaning of "a relation satisfies a rule if ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874104/

相关文章:

c# - 这是对泛型的滥用吗?

wpf - 如何创建包含具有公共(public)父类(super class)的对象的 F# 列表?

SQL Server 2008 数据类型 : which ones should i use?

haskell - 省略显式 forall 会产生模棱两可的类型错误

java - 哪种语言介于 C++ 和 Java 之间?

ios - Swift 泛型参数和返回类型

programming-languages - 不断变化的框架/API - 我们如何跟上?

programming-languages - 当我想编写视频处理应用程序时,是否有合适的 C++ 替代品?

Scala 泛型 - 当使用类型约束时,为什么 scala 返回父类(super class)型而不是子类型的实例?

c++ - 什么样的多态性在 C++ 中被认为更惯用?