# Ancillary files of "Analytic q-inequalities and a proof of Bergeron's conjecture" (Veronica Phan, 2026). # Appendix A of the paper describes the scripts; this file lists the files, their SHA-256 digests and the runs. paper: "Analytic q-inequalities and a proof of Bergeron's conjecture" author: "Veronica Phan" environment_of_the_logged_runs: python: "3.13.17" python-flint: "0.9.0" numpy: "2.5.3" sympy: "1.14.0" machine: "virtual machine with 2 cores and 7 GB of memory; pn_certificate.py ran with --jobs 2, every other run in a single process" usage: "Put the scripts in one directory and run each command there. rq_certificate.py imports cww_certificate.py; pn_certificate.py and pn_families.py import both. Each log starts with the command, the start time, the versions and the SHA-256 digests of all scripts, and ends with the output of time and the finishing time." scripts: - file: bergeron_certificate.py sha256: e3b29b32dee33a3771e46eee7fd3c7feb9d5281a0f880fb0ea2a9dc9bde9ea99 needs: "sympy" - file: corner_check.py sha256: 0ad5f6f485561df541b4e83a0e780275e5077b2e3a6baa864ca0419d01ef15af needs: "none (pure Python)" - file: circle_check.py sha256: a86969c6ce89c5a3aba23d4d30aa55d8fb9924613d794ab271728fe3f2035110 needs: "numpy" - file: cww_certificate.py sha256: 85f217ba1cc63c5421bb2df726223642e8289baab3f46dc55e026417f27cbb21 needs: "python-flint" - file: row_check.py sha256: 33684b0c7134b1b7da3e1e5fd944fe28c067fcc4255b832d327d3aea4043f665 needs: "none (pure Python)" - file: band_check.py sha256: 62ba14c054023c20a139428938aa4561365d93366172e919afde228d09b40d4e needs: "python-flint" - file: rq_certificate.py sha256: b077df5d9e0b9b7bf8be56cf2ab6763e5d8167a7408763c6ba54667837f077b3 needs: "python-flint; imports cww_certificate.py" - file: pn_certificate.py sha256: 1b487046af3818f1b6e61f9903bb4dd3cbdb45e7d451c23cdce74faad8cf4eb0 needs: "python-flint; imports cww_certificate.py and rq_certificate.py" - file: pn_families.py sha256: ea6a0e64e29ea4599808a3cb8023f9a18bfb4469f6b282d051f24034a5903108 needs: "python-flint; imports cww_certificate.py, rq_certificate.py and pn_certificate.py" - file: row_sweep.py sha256: 0dd9195b2ba9a6ca36055c39fd90cd069ab530072d01786042400059e129e650 needs: "numpy" runs: - command: "python3 bergeron_certificate.py" log: bergeron_certificate.log sha256_of_log: a19676fde9b049e4293241262cf9848f64f4ee8beb48344b0d318ed1ab8c95b2 proves: "Proposition 8.5, FStep and FT on F_a; Theorems A and A'" cpu_seconds: 1052 wall_seconds: 1151 last_output_line: "ALL CHECKS PASSED" - command: "python3 corner_check.py 1000 60" log: corner_check_1000_60.log sha256_of_log: 6f76684b25083dfc74fff3bb3a52c0101e091e32a8121cf258e98cfe12e59f95 proves: "Corollary 8.13 for a <= 999; Theorem C' and Corollary 9.14 for n <= 1000; Lemma 8.11 and Proposition 8.12 for a <= 60" cpu_seconds: 396 wall_seconds: 416 last_output_line: "time 415.6s" - command: "python3 circle_check.py" log: circle_check.log sha256_of_log: 5c1f06ecfd0e65b8162ee1563df5498485d3f24761e9069b75949d7d69f3038b proves: "numerical checks for Section 9 and the experiment of Remark 9.8 (not part of the proof)" cpu_seconds: 60 wall_seconds: 62 last_output_line: "(E) n=1001: min over 41 saddle points of (local lower bound - |rest|)/M = 0.9642 at k = 1003 (lambda = 3); 58s" - command: "python3 cww_certificate.py" log: cww_certificate.log sha256_of_log: a21c621e9fce600499ee3e0ed07f32d1fec3a45d2cb1b9d68fdff2193448251f proves: "Theorem C' for n >= 1001" cpu_seconds: 593 wall_seconds: 783 last_output_line: "ALL VERIFIED (783s)" - command: "python3 row_check.py 60 2" log: row_check_60_2.log sha256_of_log: 00246e0916051ac234e1911683695f95772ba083bf980b8697ba07cb8129e91f proves: "Observation 8.17 for x <= 60, A <= 2x^2; Corollary 8.20 (i) for x <= 60" cpu_seconds: 186 wall_seconds: 190 last_output_line: "done: 0 failures, 190s" - command: "python3 band_check.py 175 60" log: band_check_175_60.log sha256_of_log: 4aaf56dd59ccb53a491153de85c91c3fe8134cfc5c1ca5ab58c53d335729f02d proves: "(M_{x,N}) and Proposition 8.19 for 3 <= x <= 175; Corollary 8.20 (i) for 61 <= x <= 175" cpu_seconds: 2028 wall_seconds: 2194 last_output_line: "done (2194s): identities, (II) and (III) hold; (M) holds for every 13 <= x <= 175" - command: "python3 band_check.py 200 60 176" log: band_check_200_60_from176.log sha256_of_log: b4c4026ed05244734b5047d4617f69c6ccc03b2b1c1010de8a3e56f4e1787e56 proves: "(M_{x,N}) and Proposition 8.19 for 176 <= x <= 200; Corollary 8.20 (i) there" cpu_seconds: 2561 wall_seconds: 3740 last_output_line: "done (3740s): identities, (II) and (III) hold; (M) holds for every 176 <= x <= 200" - command: "python3 rq_certificate.py --parts PF" log: rq_certificate_PF.log sha256_of_log: 3a286f6b5950825ff18c5354eeef1a6a09092e6155b21466300f243f15707518 proves: "Theorem 9.16 (ii): regimes P and F" cpu_seconds: 1394 wall_seconds: 1428 last_output_line: "ALL VERIFIED (1428s)" - command: "python3 rq_certificate.py --parts L --lsplit 0/4" log: rq_certificate_L0of4.log sha256_of_log: 890faf724fa90be3d50372c49747459bd2a72134ddcb0f587def11a93a9c8b32 proves: "Theorem 9.16 (ii): exact low degrees, piece 0 of 4, and the one-factor criterion for y >= 2498" cpu_seconds: 2592 wall_seconds: 2619 last_output_line: "ALL VERIFIED (2619s)" - command: "python3 rq_certificate.py --parts L --lsplit 1/4" log: rq_certificate_L1of4.log sha256_of_log: bb32d0c19a1c766b0b79d8200bef8c02041538bc815506b33cdcca132de2fe71 proves: "Theorem 9.16 (ii): exact low degrees, piece 1 of 4" cpu_seconds: 2599 wall_seconds: 2629 last_output_line: "ALL VERIFIED (2629s)" - command: "python3 rq_certificate.py --parts L --lsplit 2/4" log: rq_certificate_L2of4.log sha256_of_log: 007b5adf19c7a2f978776fe651e44dd31cf189740e2fd512354a4e42a849f6c0 proves: "Theorem 9.16 (ii): exact low degrees, piece 2 of 4" cpu_seconds: 2642 wall_seconds: 2678 last_output_line: "ALL VERIFIED (2678s)" - command: "python3 rq_certificate.py --parts L --lsplit 3/4" log: rq_certificate_L3of4.log sha256_of_log: e5856bc80ea417ef71ef0a79ac626045980fe111407857146b1497548e9cca68 proves: "Theorem 9.16 (ii): exact low degrees, piece 3 of 4" cpu_seconds: 2792 wall_seconds: 2826 last_output_line: "ALL VERIFIED (2826s)" - command: "python3 pn_certificate.py --xc 201 --jobs 2" log: pn_certificate_xc201.log sha256_of_log: 07d7ce85abf069404ef472a864ef2a43fc97684ff30d3cf02fa2acc8247ae6b1 proves: "Theorem 9.24, part (i); writes pn_table_201.json" cpu_seconds: 6056 wall_seconds: 5123 last_output_line: "ALL VERIFIED (5122s)" - command: "python3 pn_families.py --xc 101" log: pn_families_xc101.log sha256_of_log: b4423f8750e4af629c78d87fca171ae9eb588e8d2bb122a3986dcae6efceec58 proves: "Theorem 9.24, part (ii), for x >= 101" cpu_seconds: 44 wall_seconds: 44 last_output_line: "ALL VERIFIED (44s)" - command: "python3 pn_families.py --xc 61 --xmax 100 --lam0 16" log: pn_families_xc61_xmax100.log sha256_of_log: 9dba100fd9ce6b4db7fce64d39f0b358d09a7d0cdd89d8b0f54e78618060a7ea proves: "Theorem 9.27 for 61 <= x <= 100" cpu_seconds: 30 wall_seconds: 31 last_output_line: "ALL VERIFIED (31s)" - command: "python3 pn_families.py --xc 41 --xmax 60 --lam0 32" log: pn_families_xc41_xmax60.log sha256_of_log: 0088022c36867578b6435768762a0ea484e285da66b7844ecbaa2cca45281732 proves: "Theorem 9.27 for 41 <= x <= 60" cpu_seconds: 25 wall_seconds: 26 last_output_line: "ALL VERIFIED (25s)" - command: "python3 pn_families.py --xc 22 --xmax 40 --lam0 64 --sig-ss 0.25" log: pn_families_xc22_xmax40.log sha256_of_log: b7c70be9e268f05c739425f457000ed51e3201da8caf92f814360f3aa20793fb proves: "Theorem 9.27 for 22 <= x <= 40" cpu_seconds: 19 wall_seconds: 20 last_output_line: "ALL VERIFIED (20s)" - command: "python3 row_sweep.py 22-40:64 41-60:32 61-105:16" log: row_sweep_22_105.log sha256_of_log: 1683935389064c7b4321caf770a9b2b847fd346db846febad6fe05804224f67c proves: "Proposition 9.26 for 22 <= x <= 105" cpu_seconds: 766 wall_seconds: 774 last_output_line: "ALL VERIFIED (774s)" - command: "python3 row_sweep.py 106-150:16" log: row_sweep_106_150.log sha256_of_log: 665a193e010b2192dc7d10bf0deb626507ad44105fe9ffd33f3aebca272516ec proves: "Proposition 9.26 for 106 <= x <= 150" cpu_seconds: 2111 wall_seconds: 2138 last_output_line: "ALL VERIFIED (2138s)" - command: "python3 row_sweep.py 151-175:16" log: row_sweep_151_175.log sha256_of_log: 509ccf8d6144bf27f8ed34cf214a537865ed90e2aed5d33133ac35796bd2d631 proves: "Proposition 9.26 for 151 <= x <= 175" cpu_seconds: 3208 wall_seconds: 3245 last_output_line: "ALL VERIFIED (3245s)" - command: "python3 row_sweep.py 176-190:16" log: row_sweep_176_190.log sha256_of_log: 455e99518aa4f0e12524ccc9cb2e1972cbbac3f0469e6de034d0d8bdd6701b87 proves: "Proposition 9.26 for 176 <= x <= 190" cpu_seconds: 3042 wall_seconds: 3077 last_output_line: "ALL VERIFIED (3077s)" - command: "python3 row_sweep.py 191-200:16" log: row_sweep_191_200.log sha256_of_log: 01bfbe0107220d1da22e08b113eb2c4c8929463297ea3fc58069c8ec788e8023 proves: "Proposition 9.26 for 191 <= x <= 200" cpu_seconds: 2599 wall_seconds: 2629 last_output_line: "ALL VERIFIED (2629s)" data: - file: pn_table_201.json sha256: 2932f4d799644900329d699f9118ee9f3c8487829fa856f1983db460754e1376 written_by: "python3 pn_certificate.py --xc 201" description: "the local limit table of part T of pn_certificate.py (Theorem 9.24, part (i)); python3 pn_certificate.py --parts CP --table pn_table_201.json reruns parts C and P from it"