Formal Proof of SCHUR Conjugate Function
Franck Butelle, Florent Hivert, Micaela Mayero, Fr\'ed\'eric, Toumazet

TL;DR
This paper presents a formal proof of the conjugate function in the SCHUR software, verifying its correctness using Frama-C and automated theorem provers, advancing formal verification in combinatorial computation software.
Contribution
It provides the first formal proof of a core combinatorial function in SCHUR, demonstrating the application of formal methods to verify software correctness in this domain.
Findings
Successful formal verification of the conjugate function
Demonstration of methodology for verifying combinatorial software
Integration of automated theorem provers with C code verification
Abstract
The main goal of our work is to formally prove the correctness of the key commands of the SCHUR software, an interactive program for calculating with characters of Lie groups and symmetric functions. The core of the computations relies on enumeration and manipulation of combinatorial structures. As a first "proof of concept", we present a formal proof of the conjugate function, written in C. This function computes the conjugate of an integer partition. To formally prove this program, we use the Frama-C software. It allows us to annotate C functions and to generate proof obligations, which are proved using several automated theorem provers. In this paper, we also draw on methodology, discussing on how to formally prove this kind of program.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Mathematics, Computing, and Information Processing · Logic, programming, and type systems
