我可以为定理定义多个名称吗?

时间:2013-04-05 00:19:52

标签: isabelle

假设我有一个定理:

theorem non_ASCII_thm_name:
  "True"
  by simp

我想用non_ASCII_thm_name命令定义notation的ASCII名称。例如,像这样:

notation non_ASCII_thm_name ("ASCII_thm_name")

Isar命令notationabbreviation只能与常量一起使用。是否有Isar命令允许我这样做?

最好,我希望我的Isar命令提供的是同义词。例如,如果我使用sledgehammer,则最好只存在一个定理non_ASCII_thm_name,以便sledgehammer不使用其他事实ASCII_thm_name

1 个答案:

答案 0 :(得分:3)

部分解决方案是使用命令:

lemmas ASCII_thm_name = non_ASCII_thm_name

这将定义一个名为ASCII_thm_name的新定理,它与non_ASCII_thm_name相同。

遗憾的是,不保证find_theorems等工具会使用您的新名称,而是使用自己的启发式方法来确定哪个是“最佳”名称输出回用户。

lemmas的替代同义词是theorems,但前者被认为是更标准的方法。