What’s in a Theorem Name?
ITPs use names for proved theorems. Good names are either widely known or descriptive, corresponding to a theorem’s statement. Good names should be consistent with conventions, and be easy to remember. But thinking of names like this for every intermediate result is a burden: some developers avoid this by using consecutive integers or random hashes instead. We ask: is it possible to relieve the naming burden and automatically suggest sensible theorem names? We present a method to do this. It works by learning associations between existing theorem names in a large library and the names of defined objects and term patterns occurring in their corresponding statements.
This work has been supported by UK EPSRC (EP/J001058/1) and the Austrian Science Fund FWF (P26201).
- 2.Gauthier, T., Kaliszyk, C.: Matching concepts across HOL libraries. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS, vol. 8543, pp. 267–281. Springer, Heidelberg (2014)Google Scholar
- 4.Hales, T., et al.: A formal proof of the Kepler conjecture. CoRR, 1501.02155 (2015)Google Scholar
- 5.Kaliszyk, C., Urban, J., Vyskočil, J.: Efficient semantic features for automated reasoning over large theories. In: IJCAI 2015, pp. 3084–3090. AAAI Press (2015)Google Scholar
- 6.Kripke, S.A.: Naming and necessity. In: Semantics of Natural Language, pp. 253–355. Springer, Netherlands, Dordrecht (1972)Google Scholar
- 7.Lawrie, D., Morrell, C., Feild, H., Binkley, D.: What’s in a name? A study of identifiers. In: ICPC 2006, pp. 3–12. IEEE (2006)Google Scholar
- 8.Urban, J.: Content-based encoding of mathematical and code libraries. In: MathWikis 2011, CEUR-WS, vol. 767, pp. 49–53 (2011)Google Scholar