Isabelle 集合成员的否定、相等

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

我注意到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 ∈ 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规则不起作用!真不敢相信我竟然没有意识到!谢谢!