在Isabelle形式化中,我用二元谓词来表示关系。我想让运算符使用这种表示来执行典型的关系运算,例如组合和反演。
文档“Main in the Main”仅提到这些运算符用于表示成对的表示。 Relation
理论在开头说,“关系 - 作为对的集合,和二元谓词”。但是,我对这个理论中的二元谓词表示找不到太多支持。我发现的只有几个带有神秘pred_set_conv
属性的外阴。
对二元谓词所代表的关系有广泛的支持吗?特别是,是否定义了常见关系操作的运算符?这些事情记录在哪里?
答案 0 :(得分:2)
对关系的支持作为对的集合比二元谓词稍微好一些,但是有很多可用的。但是,许多关系操作是对函数和谓词进行更一般操作的实例,或者它们确实是使用pred_set_conv
获得的。因此,他们可能很难找到。使用find_theorems
命令或面板查找引理。以下是常规操作的简要概述:
relcompp
(中缀OO
)conversep
(符号_\<inverse>\<inverse>
)tranclp
和rtranclp
inf
sup
op <=
(我发现lemmas predicate2I
和predicate2D
特别有用)BNF_Def.Grp
BNF_Def.vimage2p
wfP
和accp