Creative Commons Attribution 4.0 International license
The concept of permutations is fundamental in computer science, and is useful for specifying and reasoning about a variety of data structures and algorithms. This paper presents the implementation of a fully automated tactic for proving complex permutation goals within the Rocq Prover (formerly, Coq proof assistant). Our approach leverages proof by reflection and an iterative deepening search procedure to establish permutation relations on arbitrary lists composed of concatenation operations. We detail the construction of mapping/substitution environments, a unification algorithm, and metaprogramming tactics to automate the proof process. The potential impact of the tactic for goals involving permutations is demonstrated by significant reduction in proof script length for an existing non-trivial development.
@InProceedings{abdulhamid:LIPIcs.ITP.2025.39,
author = {Abdul Hamid, Nadeem},
title = {{Towards Automating Permutation Proofs in Rocq: A Reflexive Approach with Iterative Deepening Search}},
booktitle = {16th International Conference on Interactive Theorem Proving (ITP 2025)},
pages = {39:1--39:7},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-396-6},
ISSN = {1868-8969},
year = {2025},
volume = {352},
editor = {Forster, Yannick and Keller, Chantal},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2025.39},
URN = {urn:nbn:de:0030-drops-246378},
doi = {10.4230/LIPIcs.ITP.2025.39},
annote = {Keywords: permutations, reflection, tactics, Rocq, Coq}
}
archived version