Isabelle 对二元谓词表示的关系有什么支持?
What support does Isabelle have for relations represented by binary predicates?
在 Isabelle 形式化中,我用二元谓词表示关系。我希望运算符能够使用此表示执行典型的关系操作,例如组合和反转。
文档“What's in Main”中只提到了这样的算子,以成对的集合表示。 Relation
理论在开头说,“关系——作为成对的集合和二元谓词”。然而,我在这个理论中找不到对二元谓词表示的太多支持。我只找到了几个带有神秘 pred_set_conv
属性的引理。
是否广泛支持二元谓词表示的关系?特别是,是否定义了公共关系操作的运算符?这些东西记录在哪里?
对作为成对集合的关系的支持比对二元谓词的支持稍微好一些,但是有很多可用的。然而,许多关系操作是对函数和谓词的更一般操作的实例,或者它们确实是使用 pred_set_conv
获得的。因此,它们可能很难找到。使用 find_theorems
命令或面板查找词条。下面简单总结一下常用的操作:
- 组成:
relcompp
(中缀OO
)
- 逆:
conversep
(符号_\<inverse>\<inverse>
)
- (自反)传递闭包:
tranclp
和 rtranclp
- 路口:
inf
- 联盟:
sup
- 包含:
op <=
(我发现引理 predicate2I
和 predicate2D
特别有用)
- 仅限域的函数图:
BNF_Def.Grp
- 两个函数下的反像:
BNF_Def.vimage2p
- 有根据和可访问性:
wfP
和 accp
在 Isabelle 形式化中,我用二元谓词表示关系。我希望运算符能够使用此表示执行典型的关系操作,例如组合和反转。
文档“What's in Main”中只提到了这样的算子,以成对的集合表示。 Relation
理论在开头说,“关系——作为成对的集合和二元谓词”。然而,我在这个理论中找不到对二元谓词表示的太多支持。我只找到了几个带有神秘 pred_set_conv
属性的引理。
是否广泛支持二元谓词表示的关系?特别是,是否定义了公共关系操作的运算符?这些东西记录在哪里?
对作为成对集合的关系的支持比对二元谓词的支持稍微好一些,但是有很多可用的。然而,许多关系操作是对函数和谓词的更一般操作的实例,或者它们确实是使用 pred_set_conv
获得的。因此,它们可能很难找到。使用 find_theorems
命令或面板查找词条。下面简单总结一下常用的操作:
- 组成:
relcompp
(中缀OO
) - 逆:
conversep
(符号_\<inverse>\<inverse>
) - (自反)传递闭包:
tranclp
和rtranclp
- 路口:
inf
- 联盟:
sup
- 包含:
op <=
(我发现引理predicate2I
和predicate2D
特别有用) - 仅限域的函数图:
BNF_Def.Grp
- 两个函数下的反像:
BNF_Def.vimage2p
- 有根据和可访问性:
wfP
和accp