Isabelle 集合成员的否定、相等
我注意到Isabelle自动简化了∈ (-A))和Isabelle 集合成员的否定、相等,isabelle,Isabelle,我注意到Isabelle自动简化了∈ (-A))和,(x=y)到A∉ A和x≠ 分别为y 这是一个简单的纸笔自然演绎证明,但在伊莎贝尔失败。在第二行中,,(a)∈ (-A))简化为A∉ - A。从后者来看,我们无法应用ComplD,但为什么 lemma "- (- A) ⊆ (A::'a set)" proof fix a assume "a ∈ - (- A)" hence "¬ (a ∈ (- A))" by (rule ComplD) hence "¬ (¬ (a
,(x=y)
到A∉ A
和x≠ 分别为y
这是一个简单的纸笔自然演绎证明,但在伊莎贝尔失败。在第二行中,,(a)∈ (-A))
简化为A∉ - A
。从后者来看,我们无法应用ComplD,但为什么
lemma "- (- A) ⊆ (A::'a set)"
proof
fix a assume "a ∈ - (- A)"
hence "¬ (a ∈ (- A))" by (rule ComplD)
hence "¬ (¬ (a ∈ A))" by (rule ComplD) (* fail! *)
thus "a ∈ A" by (rule notnotD)
qed
有没有办法回到非简化表达式
当然,这个引理可以用simp一行证明。但我的目的是明确使用自然演绎规则(用于教学)。这些不是简化。如果你看一下
a的定义≠ b
和x∉ A
在Isabelle中(例如,通过按住ctrl键单击符号),您会发现它们只是,(A=b)
和,(x)的缩写∈ A)
。这些语句的内部表示方式与您在上面所写的完全相同,只是为了提高可读性,它们的打印方式有所不同
无法应用规则ComplD
的原因是它根本不匹配ComplD
说?c∈ - ?A.⟹ ?C∉ ?A
。然而,在失败的步骤中,您的假设是a∉ -A
,并且不能统一到前提?c∈ -?ComplD的
,因此规则
失败
我相对确信,你需要经典的推理来证明这一点,因为你的陈述在直觉上并不成立。这意味着您必须进行矛盾证明,例如:
lemma "- (- A) ⊆ (A::'a set)"
proof
fix a assume a: "a ∈ - (- A)"
show "a ∈ A"
proof (rule ccontr)
assume "a ∉ A"
have "a ∈ -A"
proof (rule ComplI)
assume "a ∈ A"
with ‹a ∉ A› show False by contradiction
qed
moreover from a have "a ∉ -A" by (rule ComplD)
ultimately show False by contradiction
qed
qed
这里的规则ccontr
以矛盾开始证明;当一个人已经证明了一个事实及其否定时,证明方法矛盾
仅仅是一种很好的推导任何东西的方法。是的,当然ComplI规则不起作用!真不敢相信我竟然没有意识到!谢谢!