找出在哪个 MMT 源文件中声明了 constant/theory/...

Finding out in which MMT source file a constant/theory/... was declared

假设我记得一个常数或理论名称,但完全忘记了它在哪里声明。也许,我什至不知道它是在哪个 MMT 档案中声明的。我怎样才能找到源文件?

我可以只打开 MMT shell,加载磁盘上的所有存档,然后发出一些命令 find_constant <constant name> 吗?有这样的命令吗?

这取决于你对你所寻求的声明点的了解:

  • 如果你什么都不知道,也就是说,如果你甚至没有使用该东西的类型检查文件。

    那么找出声明点的最简单方法就是用正则表达式搜索所有 *.mmt 文件。对于(类型化的)常量,使用 <constant name>\s*?:。它将匹配常量声明,后跟一些可选的空格和一个冒号。

    使用 Notepad++,这很容易做到。比如说,您想知道 congT 在哪里声明。那么你会做:

  • 您有一个类型检查 MMT 文件,其中使用了您要查找的内容。

    然后使用 MMT IntelliJ plugin 及其文档树:首先对手头的文件进行类型检查,然后在 sidekick 中查找常量的出现:

    激活 Navigate 选项在这里特别有用:有了它,您只需用鼠标单击您要查找其声明点的对象(此处例如 nat_lit ) 并立即在 sidekick 中显示它。这里,sidekick 显示 nat_lit (?NatLiterals) 意味着常数在理论中定义 NatLiterals。理想情况下,您知道该理论在哪里宣布。

    理论上,您也可以 control-click 常量,但由于我不了解的原因,目前它不起作用。