我正在尝试学习isabelle/Isar,并从Rings.thy提供的关于mod的简单证明中理解它。第一行是有意义的,因为它使用了前面的定理,并通过对称重写了它。但是接下来的两行看起来真的很奇怪。它们中的每一个都声明相同的东西等于它自己(例如"a div b = a div b")。它们没有连接到引理中的q或r来证明
我只想用命题逻辑(如notI、notE、impI、impE)中的基本自然演绎规则(ND)将这一证明转化为ab练习(供我学习)。等)。我可以很容易地在应用脚本中做到这一点: apply (rule impI) (* A ⟹ A ∨ B *) apply (rule disjI1) (* A ⟹ A *)但我试图证明Isar<
在下面的示例中,我想使用simp来证明简单类型的lambda演算中的一些术语是类型检查。我添加了每个类型检查规则作为simp的重写规则,因此simp执行条件重写并在此过程中创建示意图变量。但是,在重写某些重写的辅助条件时,simp会卡住涉及原理图变量的重写术语,因为它不会实例化它们:begin
type_synonym var = stringt1.3 = typ