Proof 《伊莎贝尔》中的惯用矛盾证明?

Proof 《伊莎贝尔》中的惯用矛盾证明?,proof,isabelle,isar,Proof,Isabelle,Isar,到目前为止,我在《伊莎贝尔》(Isabelle)一书中用矛盾的方式写了以下风格的证明(使用一种模式): 引理“” 证明- { 假设“,” 那就有虚假的抱歉 } 然后用blast显示论文 量化宽松 有没有一种方法可以不使用嵌套的原始证明块{…}?对于矛盾的经典证明,有规则ccontr: have "<expression>" proof (rule ccontr) assume "¬ <expression>" then show False sorry qed

到目前为止,我在《伊莎贝尔》(Isabelle)一书中用矛盾的方式写了以下风格的证明(使用一种模式):

引理“”
证明-
{
假设“,”
那就有虚假的抱歉
}
然后用blast显示论文
量化宽松

有没有一种方法可以不使用嵌套的原始证明块
{…}

对于矛盾的经典证明,有规则
ccontr

have "<expression>"
proof (rule ccontr)
  assume "¬ <expression>"
  then show False sorry
qed

有关使用
classic
的更多示例,请参见以更好地理解规则
classic
,它可以以结构化Isar样式打印,如下所示:

print_statement classical
输出:

theorem classical:
  obtains "¬ thesis"
因此,对直觉主义者来说,纯粹的邪恶似乎更为直观:为了证明某些武断的论点,我们可以假设它的否定成立

相应的规范证明模式如下:

notepad
begin
  have A
  proof (rule classical)
    assume "¬ ?thesis"
    then show ?thesis sorry
  qed
end

这里,
?论文
是上述
A
权利要求的具体论文,可以是任意复杂的陈述。这种通过缩写
?论文
的准抽象是惯用Isar的典型特征,以强调推理的结构。

如果
是巨大的,那么可以方便地从
开始假设“~?论文”
。旁白:
ccontr
(AFAIK缩写为“经典矛盾”)也是经典推理。因此,将第二种模式称为经典推理听起来有点奇怪。@chris,你是对的,我应该将这种说法改为“经典推理”。但是,我们用什么词来描述“古典”规则最好呢?规则“古典”以其完全的残酷性表达了古典推理,没有任何辅助连接词。在“ccontr”的形式中,它看起来更文明一些,但它是等效的。据我所知,Isabelle/FOL和HOL中这些规则的名字可以追溯到Larry Paulson。
theorem classical:
  obtains "¬ thesis"
notepad
begin
  have A
  proof (rule classical)
    assume "¬ ?thesis"
    then show ?thesis sorry
  qed
end