In interactive theorem proving, formalization quality is a key factor for maintainability and re-usability of developments and can also impact proof-checking performance. Commonly, anti-patterns that cause quality issues are known to experienced users. However, in many theorem prover systems, there are no automatic tools to check for their presence and make less experienced users aware of them. We attempt to fill this gap in the Isabelle environment by developing a linter as a publicly available add-on component. The linter offers basic configurability, extensibility, Isabelle/jEdit integration, and a standalone command-line tool. We uncovered 480 potential problems in Isabelle/HOL, 14016 in other formalizations of the Isabelle distribution, and an astonishing 59573 in the AFP. With a specific lint bundle for AFP submissions, we found that submission guidelines were violated in 1595 cases. We set out to alleviate problems in Isabelle/HOL and solved 168 of them so far; we found that high-severity lints corresponded to actual problems most of the time, individual users often made the same mistakes in many places, and that solving those problems retrospectively amounts to a substantial amount of work. In contrast, solving these problems interactively for new developments usually incurs only little overhead, as we found in a quantitative user survey with 22 participants (less than a minute for more than 60% of participants). We also found that a good explanation of problems is key to the users' ease of solving these problems (correlation coefficient 0.48), and their satisfaction with the end result (correlation coefficient 0.62).
翻译:互动理论证明, 正规化质量是保持和重新使用发展的关键要素, 也可以影响校验绩效。 一般而言, 经验丰富的用户了解导致质量问题的反模式问题。 然而, 在许多理论证明系统中, 没有自动工具来检查其存在情况, 并使经验较少的用户了解这些系统。 我们试图通过开发一个互联网作为公开附加部分来填补伊莎贝尔环境中的这一差距。 互联网提供了基本的可调和性、可扩展性、伊莎贝尔/伊迪特整合和独立指令线工具。 我们发现伊莎贝尔/HOL480个潜在问题, 伊莎贝尔分配的其他正式化14016个潜在问题, 以及AFP有惊人的59573个系统。 我们发现,在1595个案例中,提交准则遭到了违反。 我们试图缓解伊莎贝尔/HOL的问题, 并解决了其中的168个问题如此之远; 我们发现, 高透明度与大部分时间的实际问题相符, 伊莎贝/ 个人用户通常会做出60个问题, 与22个用户的模拟调查结果相同。