Isabelle 伊莎贝尔:证明矩阵的这种集合表示法是有限集合的结果

Isabelle 伊莎贝尔:证明矩阵的这种集合表示法是有限集合的结果,isabelle,Isabelle,我正在使用存储库中Isabelle的开发版本。我希望这是一个好的决定。大锤又有了很大的改进!伊莎贝尔开发人员真的很棒!开发版本的原因是Isabelle2013-2经常崩溃 我如何证明这个引理: lemma finite_f_A: fixes A :: "('a::comm_ring_1 poly)^'n∷finite^'n∷finite" and f :: "('a::comm_ring_1 poly) ⇒ nat" shows "finite {f (A $ i $ j) |

我正在使用存储库中Isabelle的开发版本。我希望这是一个好的决定。大锤又有了很大的改进!伊莎贝尔开发人员真的很棒!开发版本的原因是Isabelle2013-2经常崩溃

我如何证明这个引理:

lemma finite_f_A:
  fixes A :: "('a::comm_ring_1 poly)^'n∷finite^'n∷finite"
    and f :: "('a::comm_ring_1 poly) ⇒ nat"
  shows "finite {f (A $ i $ j) | i j. True }"
sorry
我的旧证明不再适用于Isabelle的开发版本:

proof-
  have "⋀ K. finite ((λ (i, j). f (A $ i $ j)) ` K)" using finite_imageI by simp
  from this show ?thesis by simp 
qed

在变更集中的Isabelle2013-2发布后,简化程序
finite_Collect
已被停用,因为它有时会表现出意外的行为或崩溃。您可以在引理语句和证明开始之间使用[[simproc add:finite_Collect]]重新激活它。然后,你以前的证明又起作用了


顺便说一句,在工作中使用存储库版本通常不是一个好主意,除非您迫切需要一个新功能或希望参与Isabelle开发过程。

在变更集中的Isabelle2013-2发布后,简化过程
finite\u Collect
已被停用,因为它有时表现得出奇或崩溃。您可以在引理语句和证明开始之间使用[[simproc add:finite_Collect]]重新激活它。然后,你以前的证明又起作用了


顺便说一句,在工作中使用存储库版本通常不是一个好主意,除非您迫切需要新功能或希望参与Isabelle的开发过程。

我同意Andreas的观点,即使用Isabelle的开发版本通常不是一个好主意。但是如果你还是这么做了(而且你不是唯一一个;),仅仅提到你使用了它,而没有给出变更集id通常不会有很大帮助。谢谢你的提示。我觉得在发布的时候开发的版本已经足够了,但我会在下次发布。我不知道Isabelle2013-2有什么严重的问题会导致它无法使用。另一方面,伊莎贝尔2013-1是我的失败,因为我误解了缺乏问题报告和缺乏问题。因此,如果有任何错误,最重要的是在官方的伊莎贝尔邮件列表上报告,或者私下向负责人报告。我同意Andreas的观点,使用Isabelle的开发版本通常不是一个好主意。但是如果你还是这么做了(而且你不是唯一一个;),仅仅提到你使用了它,而没有给出变更集id通常不会有很大帮助。谢谢你的提示。我觉得在发布的时候开发的版本已经足够了,但我会在下次发布。我不知道Isabelle2013-2有什么严重的问题会导致它无法使用。另一方面,伊莎贝尔2013-1是我的失败,因为我误解了缺乏问题报告和缺乏问题。因此,如果有任何错误,最重要的是在官方的伊莎贝尔邮件列表上报告,或者私下向负责人报告。保密的问题仍然存在。我的经验是,伊莎贝尔2013-2完全无法使用。我很沮丧,这不好玩。它速度慢,而且经常崩溃。对于dev版本,键入感觉再次正常,而不是稍微延迟。Sledgehammer再次得到了极大的改进,它发现证明的速度更快,metis证明生成的速度也更快。慕尼黑的人说,在某种程度上,使用伊莎贝尔·德夫版本是一种选择。我不介意成为开发过程的一部分。(我的意思是,对于Agda,根本没有人使用稳定版本。)我的经验是,伊莎贝尔2013-2完全无法使用。我很沮丧,这不好玩。它速度慢,而且经常崩溃。对于dev版本,键入感觉再次正常,而不是稍微延迟。Sledgehammer再次得到了极大的改进,它发现证明的速度更快,metis证明生成的速度也更快。慕尼黑的人说,在某种程度上,使用伊莎贝尔·德夫版本是一种选择。我不介意成为开发过程的一部分。(我的意思是,对于Agda,根本没有人使用稳定版本。)