Skip to content

Stop inlining abstracted subproofs in tactics in terms.#21676

Draft
ppedrot wants to merge 1 commit intorocq-prover:masterfrom
ppedrot:constr-quotation-abstract-no-inline
Draft

Stop inlining abstracted subproofs in tactics in terms.#21676
ppedrot wants to merge 1 commit intorocq-prover:masterfrom
ppedrot:constr-quotation-abstract-no-inline

Conversation

@ppedrot
Copy link
Member

@ppedrot ppedrot commented Feb 27, 2026

This is probably going to break some developments like fiat-crypto and friends, so for now I'm just running the CI and if there is too much breakage I'll provide a (deprecated) compatibility flag.

Fixes #7905: abstract in tactics in terms should not inline.

Fixes rocq-prover#7905: abstract in tactics in terms should not inline.
@ppedrot ppedrot added kind: fix This fixes a bug or incorrect documentation. request: full CI Use this label when you want your next push to trigger a full CI. labels Feb 27, 2026
@coqbot-app coqbot-app bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Feb 27, 2026
@SkySkimmer
Copy link
Contributor

@coqbot bench

@coqbot-app
Copy link
Contributor

coqbot-app bot commented Feb 27, 2026

🏁 Bench results:

┌─────────────────────────────────────┬─────────────────────────┬───────────────────────────────────────┬─────────────────────────┐
│                                     │      user time [s]      │           CPU instructions            │  max resident mem [KB]  │
│                                     │                         │                                       │                         │
│            package_name             │   NEW      OLD    PDIFF │      NEW             OLD        PDIFF │   NEW      OLD    PDIFF │
├─────────────────────────────────────┼─────────────────────────┼───────────────────────────────────────┼─────────────────────────┤
│                         rocq-stdlib │  430.71   437.43  -1.54 │  1546803600893   1546809349175  -0.00 │  652468   652156   0.05 │
│              rocq-mathcomp-fingroup │   27.27    27.50  -0.84 │   180105075368    180050524076   0.03 │  645480   645552  -0.01 │
│                 rocq-mathcomp-field │  201.52   203.18  -0.82 │  1545794996858   1545701837776   0.01 │ 2965796  2965268   0.02 │
│                      coq-verdi-raft │  497.58   500.82  -0.65 │  3446726403855   3447031776726  -0.01 │  836560   836268   0.03 │
│                      rocq-equations │    8.61     8.66  -0.58 │    59934715340     59931764402   0.00 │  400612   400200   0.10 │
│ coq-neural-net-interp-computed-lite │  237.78   239.16  -0.58 │  2269459446781   2269463252059  -0.00 │  895180   899536  -0.48 │
│                           rocq-core │    6.60     6.63  -0.45 │    40606092018     40601725823   0.01 │  445116   448060  -0.66 │
│              rocq-mathcomp-solvable │  106.75   107.22  -0.44 │   745385895157    748928130242  -0.47 │ 1531868  1533020  -0.08 │
│                        rocq-bignums │   25.68    25.79  -0.43 │   164017112680    164010704451   0.00 │  460112   460096   0.00 │
│                  rocq-mathcomp-boot │   39.78    39.92  -0.35 │   235047862376    234927369348   0.05 │  753868   753296   0.08 │
│                 rocq-metarocq-utils │   24.25    24.33  -0.33 │   157599187175    157603031358  -0.00 │  593048   593192  -0.02 │
│                           coq-verdi │   44.07    44.21  -0.32 │   293146669546    293133447852   0.00 │  528176   530908  -0.51 │
│                        coq-bedrock2 │  363.87   364.95  -0.30 │  3002777967046   3003019391964  -0.01 │  890436   892568  -0.24 │
│                            coq-corn │  660.22   661.71  -0.23 │  4458376516253   4458688120456  -0.01 │  735528   737072  -0.21 │
│                        rocq-runtime │   74.57    74.72  -0.20 │   541993985004    541919224285   0.01 │  501852   503096  -0.25 │
│                 coq-category-theory │  553.99   555.09  -0.20 │  4047866469783   4047400833142   0.01 │  893744   893696   0.01 │
│          coq-performance-tests-lite │  904.57   906.14  -0.17 │  7249439964816   7248553659468   0.01 │ 1233608  1284284  -3.95 │
│                        coq-compcert │  307.72   308.20  -0.16 │  2019691332997   2019734769625  -0.00 │ 1165468  1163128   0.20 │
│           rocq-metarocq-safechecker │  337.06   337.40  -0.10 │  2479471926531   2479722733835  -0.01 │ 1785948  1787264  -0.07 │
│                         coq-coqutil │   47.35    47.39  -0.08 │   294277365950    294259445112   0.01 │  570972   568612   0.42 │
│                            coq-hott │  158.62   158.74  -0.08 │  1069025746572   1068862791698   0.02 │  454540   454516   0.01 │
│               rocq-metarocq-erasure │  482.20   482.53  -0.07 │  3297884463797   3298029240594  -0.00 │ 1789868  1790088  -0.01 │
│                   coq-iris-examples │  369.56   369.78  -0.06 │  2421849756130   2421842156702   0.00 │ 1113044  1113228  -0.02 │
│                 rocq-metarocq-pcuic │  634.34   634.60  -0.04 │  4072075431252   4072019651969   0.00 │ 2317140  2315448   0.07 │
│               coq-mathcomp-analysis │ 1205.71  1205.91  -0.02 │  9103743650484   9102756089825   0.01 │ 2651992  2648412   0.14 │
│                             coq-vst │  852.05   852.16  -0.01 │  6449933425651   6450313628452  -0.01 │ 2207492  2213216  -0.26 │
│               rocq-mathcomp-algebra │  349.82   349.86  -0.01 │  2615157630981   2611750052817   0.13 │ 1623832  1625784  -0.12 │
│             rocq-mathcomp-character │  108.76   108.77  -0.01 │   783909377151    783578462638   0.04 │ 2222884  2222932  -0.00 │
│                           rocq-elpi │   15.73    15.73  -0.00 │   111023458079    111008295956   0.01 │  577000   577448  -0.08 │
│                rocq-metarocq-common │   40.89    40.89   0.00 │   264709175468    264708393230   0.00 │  929852   929652   0.02 │
│                    coq-fiat-parsers │  279.32   279.32   0.00 │  2138955924108   2138868009598   0.00 │ 2249636  2251512  -0.08 │
│                       coq-fourcolor │ 1367.61  1366.50   0.08 │ 12576695585349  12576891733909  -0.00 │ 1461788  1462436  -0.04 │
│                           coq-color │  235.17   234.79   0.16 │  1487905732585   1487914237939  -0.00 │ 1183592  1182400   0.10 │
│                         coq-unimath │ 1813.69  1809.93   0.21 │ 15060218965239  15060361475604  -0.00 │ 1102432  1102116   0.03 │
│                    coq-math-classes │   83.91    83.67   0.29 │   508801575313    508854038797  -0.01 │  514420   514560  -0.03 │
│              coq-mathcomp-odd-order │  628.67   626.77   0.30 │  4513895900837   4513083753133   0.02 │ 3750996  3753088  -0.06 │
│              rocq-metarocq-template │   84.74    84.44   0.36 │   581588559997    581572205831   0.00 │ 1058904  1058984  -0.01 │
│                      coq-coquelicot │   40.45    40.26   0.47 │   245467590480    245449885520   0.01 │  839484   838204   0.15 │
│                        coq-coqprime │   54.18    53.91   0.50 │   368303110398    368270086566   0.01 │  826044   825760   0.03 │
│               coq-engine-bench-lite │  129.03   128.38   0.51 │   963537625684    958485157074   0.53 │ 1007756  1007596   0.02 │
│          rocq-metarocq-translations │   16.85    16.76   0.54 │   119346087654    119332691630   0.01 │  776872   777664  -0.10 │
│                 rocq-mathcomp-order │   82.05    81.50   0.67 │   600988208637    600569349178   0.07 │ 2064288  1984140   4.04 │
│                       coq-fiat-core │   56.54    56.14   0.71 │   345405173749    345362178784   0.01 │  481788   485028  -0.67 │
│                            coq-core │    2.82     2.72   3.68 │    18290430943     18292413987  -0.01 │   89532    89636  -0.12 │
│             rocq-mathcomp-ssreflect │    1.21     1.09  11.01 │     7722572031      7720548375   0.03 │  852332   852968  -0.07 │
└─────────────────────────────────────┴─────────────────────────┴───────────────────────────────────────┴─────────────────────────┘

INFO: failed to install
coq-rewriter (in NEW)

coq-fiat-crypto-with-bedrock (dependency coq-rewriter failed)
coq-rewriter-perf-SuperFast (dependency coq-rewriter failed)

🐢 Top 25 slow downs
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                              TOP 25 SLOW DOWNS                                                              │
│                                                                                                                                             │
│   OLD     NEW    DIFF     %DIFF     Ln                     FILE                                                                             │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│   0.297  0.927  0.6308    212.65%   153  rocq-mathcomp-algebra/algebra/spectral.v.html                                                      │
│    7.74   8.25  0.5112      6.60%   604  coq-unimath/UniMath/CategoryTheory/EnrichedCats/Colimits/Examples/StructureEnrichedColimits.v.html │
│    18.1   18.6  0.4927      2.72%    31  coq-engine-bench-lite/coq/PerformanceDemos/pattern.v.html                                          │
│ 0.00444  0.419  0.4149   9349.14%    72  rocq-mathcomp-algebra/algebra/spectral.v.html                                                      │
│    1.51   1.93  0.4140     27.38%   368  coq-unimath/UniMath/CategoryTheory/Monoidal/Examples/LiftPoset.v.html                              │
│  0.0273  0.438  0.4111   1506.06%   141  rocq-mathcomp-solvable/solvable/extraspecial.v.html                                                │
│   0.578  0.927  0.3484     60.24%     7  rocq-mathcomp-solvable/solvable/all_solvable.v.html                                                │
│   0.333  0.660  0.3268     98.16%    13  rocq-stdlib/theories/ZArith/Zmin.v.html                                                            │
│    8.23   8.53  0.3027      3.68%   420  coq-engine-bench-lite/coq/PerformanceDemos/one_step_reduction.v.html                               │
│    9.39   9.69  0.2941      3.13%   434  coq-mathcomp-odd-order/theories/PFsection12.v.html                                                 │
│    30.0   30.3  0.2862      0.95%    12  coq-fourcolor/theories/proof/job001to106.v.html                                                    │
│   0.344  0.608  0.2634     76.52%    15  rocq-stdlib/theories/micromega/ZifyInst.v.html                                                     │
│   4.022  4.283  0.2610      6.49%  1387  coq-vst/floyd/data_at_lemmas.v.html                                                                │
│    1.11   1.37  0.2590     23.30%   733  coq-category-theory/Construction/Comma/Adjunction.v.html                                           │
│    7.72   7.97  0.2524      3.27%   602  coq-unimath/UniMath/CategoryTheory/EnrichedCats/Limits/Examples/StructureEnrichedLimits.v.html     │
│   0.569  0.813  0.2443     42.95%   170  rocq-stdlib/theories/Numbers/HexadecimalNat.v.html                                                 │
│    10.0   10.3  0.2404      2.40%   279  coq-category-theory/Theory/Metacategory.v.html                                                     │
│   0.170  0.404  0.2334    136.94%   697  rocq-stdlib/theories/setoid_ring/Ring_polynom.v.html                                               │
│   0.161  0.390  0.2291    142.34%    14  rocq-stdlib/theories/Vectors/FinFun.v.html                                                         │
│   0.328  0.553  0.2247     68.52%     1  rocq-stdlib/theories/ZArith/Zdivisibility.v.html                                                   │
│   0.322  0.546  0.2240     69.64%   141  rocq-stdlib/theories/Numbers/DecimalNat.v.html                                                     │
│ 0.00460  0.226  0.2212   4807.28%   337  rocq-mathcomp-solvable/solvable/primitive_action.v.html                                            │
│ 0.00276  0.223  0.2201   7978.80%   271  rocq-mathcomp-solvable/solvable/hall.v.html                                                        │
│  0.0153  0.233  0.2180   1423.13%    90  rocq-mathcomp-solvable/solvable/primitive_action.v.html                                            │
│ 0.00106  0.218  0.2170  20418.44%    76  rocq-mathcomp-solvable/solvable/hall.v.html                                                        │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
🐇 Top 25 speed ups
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                           TOP 25 SPEED UPS                                                            │
│                                                                                                                                       │
│  OLD      NEW     DIFF     %DIFF   Ln                    FILE                                                                         │
├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│    203      202  -1.2603   -0.62%    8  coq-neural-net-interp-computed-lite/theories/MaxOfTwoNumbersSimpler/Computed/AllLogits.v.html │
│   4.58     3.91  -0.6663  -14.56%  196  rocq-stdlib/theories/ZArith/ZModOffset.v.html                                                 │
│   1.65    0.993  -0.6545  -39.73%  572  rocq-stdlib/theories/MSets/MSetAVL.v.html                                                     │
│   67.3     66.8  -0.5232   -0.78%  608  coq-bedrock2/bedrock2/src/bedrock2Examples/lightbulb.v.html                                   │
│   18.7     18.3  -0.4337   -2.31%  481  coq-verdi-raft/theories/RaftProofs/EndToEndLinearizability.v.html                             │
│  0.424  0.00329  -0.4207  -99.22%   75  rocq-mathcomp-algebra/algebra/spectral.v.html                                                 │
│  0.449   0.0401  -0.4092  -91.08%  140  rocq-mathcomp-solvable/solvable/extraspecial.v.html                                           │
│  0.415  0.00951  -0.4057  -97.71%  154  rocq-mathcomp-algebra/algebra/spectral.v.html                                                 │
│  0.544    0.225  -0.3193  -58.69%  760  rocq-stdlib/theories/setoid_ring/Ring_polynom.v.html                                          │
│  0.627    0.323  -0.3040  -48.45%   14  rocq-stdlib/theories/Numbers/Integer/Binary/ZBinary.v.html                                    │
│   1.15    0.857  -0.2917  -25.40%  408  rocq-stdlib/theories/MSets/MSetAVL.v.html                                                     │
│  0.621    0.340  -0.2810  -45.23%   19  rocq-stdlib/theories/ZArith/Zcompare.v.html                                                   │
│  0.357    0.105  -0.2515  -70.52%  558  rocq-stdlib/theories/Numbers/HexadecimalFacts.v.html                                          │
│  0.588    0.339  -0.2491  -42.36%  650  rocq-stdlib/theories/MSets/MSetRBT.v.html                                                     │
│   12.1     11.9  -0.2442   -2.02%  799  rocq-metarocq-safechecker/safechecker/theories/PCUICSafeRetyping.v.html                       │
│   24.9     24.6  -0.2382   -0.96%   12  coq-fourcolor/theories/proof/job503to506.v.html                                               │
│  0.698    0.461  -0.2372  -33.98%  689  rocq-stdlib/theories/setoid_ring/Field_theory.v.html                                          │
│  40.46   40.226  -0.2340   -0.58%  834  coq-vst/veric/binop_lemmas4.v.html                                                            │
│  0.695    0.468  -0.2264  -32.58%  829  rocq-stdlib/theories/setoid_ring/Ring_polynom.v.html                                          │
│   21.5     21.2  -0.2226   -1.04%  651  rocq-stdlib/theories/Zmod/ZmodBase.v.html                                                     │
│  0.231  0.00869  -0.2222  -96.24%  347  rocq-mathcomp-solvable/solvable/sylow.v.html                                                  │
│  0.496    0.274  -0.2221  -44.80%  778  rocq-stdlib/theories/setoid_ring/Ring_polynom.v.html                                          │
│  0.599    0.377  -0.2219  -37.05%    7  rocq-mathcomp-solvable/solvable/maximal.v.html                                                │
│ 34.006   33.787  -0.2190   -0.64%  194  coq-vst/veric/expr_lemmas4.v.html                                                             │
│  0.225  0.00770  -0.2169  -96.57%  118  rocq-mathcomp-algebra/algebra/spectral.v.html                                                 │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

@ppedrot
Copy link
Member Author

ppedrot commented Feb 28, 2026

@coqbot ci minimize

@coqbot-app
Copy link
Contributor

coqbot-app bot commented Feb 28, 2026

I have initiated minimization at commit e8d41ee for the suggested target ci-rewriter as requested.

@coqbot-app
Copy link
Contributor

coqbot-app bot commented Feb 28, 2026

Partially Minimized File /home/runner/work/run-coq-bug-minimizer/run-coq-bug-minimizer/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter/Demo.v in 3h 10m 55s (from ci-rewriter) (full log on GitHub Actions - verbose log)

We are collecting data on the user experience of the Coq Bug Minimizer.
If you haven't already filled the survey for this PR, please fill out our short survey!

⭐ 🏗️ Partially Minimized Coq File (could not inline Rewriter.Util.plugins.RewriterBuildRegistry)
(* -*- mode: coq; coq-prog-args: ("-emacs" "-q" "-w" "+implicit-core-hint-db,+implicits-in-term,+non-reversible-notation,+deprecated-intros-until-0,+deprecated-focus,+unused-intro-pattern,+deprecated-hint-constr,+fragile-hint-constr,+variable-collision,+unexpected-implicit-declaration,+omega-is-deprecated,+deprecated-instantiate-syntax,+non-recursive,+deprecated-hint-rewrite-without-locality,+deprecated-hint-without-locality,+deprecated-instance-without-locality,+undeclared-scope,+deprecated-typeclasses-transparency-without-locality,+future-coercion-class-field,unsupported-attributes" "-w" "-notation-overridden,-unusable-identifier" "-w" "-notation-overridden" "-w" "-deprecated-native-compiler-option" "-native-compiler" "ondemand" "-coqlib" "/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq//" "-R" "/github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter" "Rewriter" "-Q" "/github/workspace/cwd" "Top" "-Q" "/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq///user-contrib/Ltac2" "Ltac2" "-Q" "/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq///user-contrib/Stdlib" "Stdlib" "-I" "/github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter/Util/plugins" "-top" "Rewriter.Demo") -*- *)
(* File reduced by coq-bug-minimizer from original input, then from 95 lines to 6 lines, then from 20 lines to 402 lines, then from 409 lines to 8 lines, then from 22 lines to 8 lines, then from 21 lines to 8 lines, then from 22 lines to 8 lines *)
(* coqc version 9.3+alpha compiled with OCaml 4.14.2
   coqtop version 9.3+alpha
   Modules that could not be inlined: Rewriter.Util.plugins.RewriterBuildRegistry
   Expected coqc runtime on this file: 5.675 sec
   Expected coqc peak memory usage on this file: 791192.0 kb *)
Require Rewriter.Util.plugins.RewriterBuildRegistry.

Declare ML Module "coq-rewriter.rewriter_build".
Import Stdlib.Arith.Arith.

Make rew0nat := Rewriter For (Nat.add_0_r, Nat.add_0_l).
🛠️ Intermediate Coq File (useful for debugging if minimization did not go as far as you wanted) (truncated to 6.0KiB; full 17KiB file on GitHub Actions Artifacts under tmp.v)
(* -*- mode: coq; coq-prog-args: ("-emacs" "-q" "-w" "+implicit-core-hint-db,+implicits-in-term,+non-reversible-notation,+deprecated-intros-until-0,+deprecated-focus,+unused-intro-pattern,+deprecated-hint-constr,+fragile-hint-constr,+variable-collision,+unexpected-implicit-declaration,+omega-is-deprecated,+deprecated-instantiate-syntax,+non-recursive,+deprecated-hint-rewrite-without-locality,+deprecated-hint-without-locality,+deprecated-instance-without-locality,+undeclared-scope,+deprecated-typeclasses-transparency-without-locality,+future-coercion-class-field,unsupported-attributes" "-w" "-notation-overridden,-unusable-identifier" "-w" "-notation-overridden" "-w" "-deprecated-native-compiler-option" "-native-compiler" "ondemand" "-coqlib" "/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq//" "-R" "/github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter" "Rewriter" "-Q" "/github/workspace/cwd" "Top" "-Q" "/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq///user-contrib/Ltac2" "Ltac2" "-Q" "/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq///user-contrib/Stdlib" "Stdlib" "-I" "/github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter/Util/plugins" "-top" "Rewriter.Demo") -*- *)
(* File reduced by coq-bug-minimizer from original input, then from 95 lines to 6 lines, then from 20 lines to 402 lines, then from 409 lines to 8 lines, then from 22 lines to 8 lines, then from 21 lines to 8 lines, then from 20 lines to 411 lines *)
(* coqc version 9.3+alpha compiled with OCaml 4.14.2
   coqtop version 9.3+alpha
   Expected coqc runtime on this file: 0.000 sec
   Expected coqc peak memory usage on this file: 0.0 kb *)
Module Export AdmitTactic.
Module Import LocalFalse.
Inductive False : Prop := .
End LocalFalse.
Axiom proof_admitted : False.
Tactic Notation "admit" := abstract case proof_admitted.
End AdmitTactic.
Require Corelib.BinNums.IntDef.
Require Corelib.BinNums.NatDef.
Require Corelib.BinNums.PosDef.
Require Corelib.Classes.CMorphisms.
Require Corelib.Classes.Morphisms.
Require Corelib.Classes.Morphisms_Prop.
Require Corelib.Classes.RelationClasses.
Require Corelib.Init.Byte.
Require Corelib.Init.Ltac.
Require Corelib.Init.Sumbool.
Require Corelib.Lists.ListDef.
Require Corelib.Numbers.BinNums.
Require Corelib.Program.Basics.
Require Corelib.Program.Tactics.
Require Corelib.Relations.Relation_Definitions.
Require Corelib.Setoids.Setoid.
Require Corelib.derive.Derive.
Require Rewriter.Util.Comparison.
Require Rewriter.Util.GlobalSettings.
Require Rewriter.Util.HProp.
Require Rewriter.Util.InductiveHList.
Require Rewriter.Util.Isomorphism.
Require Rewriter.Util.Tactics.CPSId.
Require Rewriter.Util.Tactics.ClearFree.
Require Rewriter.Util.Tactics.ConstrFail.
Require Rewriter.Util.Tactics.Contains.
Require Rewriter.Util.Tactics.EvarNormalize.
Require Rewriter.Util.Tactics.GetGoal.
Require Rewriter.Util.Tactics.PrintContext.
Require Rewriter.Util.Tactics.SetEvars.
Require Rewriter.Util.Tactics.SubstEvars.
Require Rewriter.Util.Tactics.Test.
Require Rewriter.Util.Tactics.TransparentAssert.
Require Rewriter.Util.TypeList.
Require Rewriter.Util.plugins.StrategyTactic.
Require Stdlib.Classes.DecidableClass.
Require Stdlib.Logic.Decidable.
Require Stdlib.Logic.EqdepFacts.
Require Stdlib.Logic.HLevelsBase.
Require Stdlib.Sets.Relations_1.
Require Stdlib.micromega.ZifyClasses.
Require Stdlib.setoid_ring.Algebra_syntax.
Require Ltac2.Init.
Require Rewriter.Util.Tactics.DebugPrint.
Require Rewriter.Util.Tactics.Not.
Require Rewriter.Util.Tactics.PrintGoal.
Require Rewriter.Util.Tactics.SetoidSubst.
Require Stdlib.BinNums.IntDef.
Require Stdlib.BinNums.NatDef.
Require Stdlib.BinNums.PosDef.
Require Stdlib.Classes.CMorphisms.
Require Stdlib.Classes.Morphisms.
Require Stdlib.Classes.Morphisms_Prop.
Require Stdlib.Classes.RelationClasses.
Require Stdlib.Init.Byte.
Require Stdlib.Init.Sumbool.
Require Stdlib.Lists.ListDef.
Require Stdlib.Logic.Eqdep_dec.
Require Stdlib.Numbers.BinNums.
Require Stdlib.Program.Basics.
Require Stdlib.Program.Tactics.
Require Stdlib.Relations.Relation_Definitions.
Require Stdlib.Setoids.Setoid.
Require Stdlib.derive.Derive.
Require Ltac2.Bool.
Require Ltac2.Constant.
Require Ltac2.Constructor.
Require Ltac2.Evar.
Require Ltac2.FSet.
Require Ltac2.Float.
Require Ltac2.Ident.
Require Ltac2.Ind.
Require Ltac2.Int.
Require Ltac2.Message.
Require Ltac2.Meta.
Require Ltac2.Proj.
Require Ltac2.Std.
Require Ltac2.String.
Require Ltac2.TransparentState.
Require Ltac2.Uint63.
Require Rewriter.Util.IffT.
Require Rewriter.Util.Pointed.
Require Rewriter.Util.Tactics.CacheTerm.
Require Rewriter.Util.Tactics.WarnIfGoalsRemain.
Require Stdlib.Bool.Bool.
Require Stdlib.Relations.Relation_Operators.
Require Ltac2.Char.
Require Ltac2.Control.
Require Ltac2.Env.
Require Ltac2.FMap.
Require Ltac2.Printf.
Require Ltac2.RedFlags.
Require Ltac2.Ref.
Require Ltac2.Unification.
Require Rewriter.Util.Bool.Equality.
Require Rewriter.Util.FixCoqMistakes.
Require Stdlib.Relations.Operators_Properties.
Require Ltac2.Option.
Require Ltac2.Pattern.
Require Rewriter.Util.Equality.
Require Rewriter.Util.Logic.ProdForall.
Require Rewriter.Util.Notations.
Require Rewriter.Util.Tactics.DestructHyps.
Require Rewriter.Util.Tactics.FindHyp.
Require Rewriter.Util.Tactics.Head.
Require Rewriter.Util.Tactics.HeadUnderBinders.
Require Rewriter.Util.Tactics.RunTacticAsConstr.
Require Rewriter.Util.Tactics.SpecializeBy.
Require Rewriter.Util.Tactics.SplitInContext.
Require Stdlib.PArith.BinPosDef.
Require Stdlib.Relations.Relations.
Require Ltac2.Ltac1.
Require Rewriter.Util.Bool.
Require Rewriter.Util.CPSNotations.
Require Rewriter.Util.Tactics.BreakMatch.
Require Rewriter.Util.Tactics.UniquePose.
Require Ltac2.Array.
Require Ltac2.Lazy.
Require Ltac2.List.
Require Rewriter.Util.Sigma.
Require Rewriter.Util.Sigma.Related.
Require Rewriter.Util.Tactics.DestructHead.
Require Rewriter.Util.Tactics.DoWithHyp.
Require Rewriter.Util.Tactics.SpecializeAllWays.
Require Stdlib.Numbers.NumPrelude.
Require Ltac2.Fresh.
Require Rewriter.Util.Tactics.RewriteHyp.
Require Stdlib.Classes.RelationPairs.
Require Ltac
🛠️ 📜 Intermediate Coq File log (useful for debugging if minimization did not go as far as you wanted)
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]
File "/tmp/tmplo6342ju/Rewriter/Demo.v", line 319, characters 0-34:
Warning: Library File Stdlib.ZArith.ZArith_base is deprecated
since Stdlib 9.0. use ZArith instead
[deprecated-library-file-since-Stdlib-9.0,deprecated-since-Stdlib-9.0,deprecated-library-file,deprecated,default]
File "/tmp/tmplo6342ju/Rewriter/Demo.v", line 373, characters 0-58:
Warning: Trying to mask the absolute name "Ltac2.Ident"!
[masking-absolute-name,deprecated-since-8.8,deprecated,default]
File "/tmp/tmplo6342ju/Rewriter/Demo.v", line 402, characters 0-94:
Warning: Trying to mask the absolute name "Ltac2.Ident"!
[masking-absolute-name,deprecated-since-8.8,deprecated,default]
File "/tmp/tmplo6342ju/Rewriter/Demo.v", line 416, characters 0-56:
Error: Anomaly "Uncaught exception Not_found."
Please report at http://rocq-prover.org/bugs/.
📜 Build Log (contains the Coq error message) (truncated to last 8.0KiB; full 6.0MiB file on GitHub Actions Artifacts under build.log)
i-env.sh
+++ root=/github/workspace/builds/coq/coq-failing/dev/ci/scripts/../../..
++++ cd /github/workspace/builds/coq/coq-failing/dev/ci/scripts/../../..
++++ echo /builds/coq/coq
+++ root=/builds/coq/coq
+++ '[' -n 1 ']'
+++ export COQBIN=/github/workspace/builds/coq/coq-failing/_install_ci/bin
+++ COQBIN=/github/workspace/builds/coq/coq-failing/_install_ci/bin
+++ export OCAMLPATH=/github/workspace/builds/coq/coq-failing/_install_ci/lib:
+++ OCAMLPATH=/github/workspace/builds/coq/coq-failing/_install_ci/lib:
+++ export PATH=/github/workspace/builds/coq/coq-failing/_install_ci/bin:/root/.opamcache/4.14.2+flambda/bin:/github/workspace/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/github/workspace/builds/coq/coq-failing/_install_ci/bin:/root/.opamcache/4.14.2+flambda/bin:/github/workspace/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ CI_INSTALL_DIR=/github/workspace/builds/coq/coq-failing/_install_ci
+++ export CI_BRANCH=
+++ CI_BRANCH=
+++ [[ '' =~ ^[0-9]*$ ]]
+++ export CI_PULL_REQUEST=
+++ CI_PULL_REQUEST=
+++ export PATH=/github/workspace/builds/coq/coq-failing/_install_ci/bin:/github/workspace/builds/coq/coq-failing/_install_ci/bin:/root/.opamcache/4.14.2+flambda/bin:/github/workspace/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/github/workspace/builds/coq/coq-failing/_install_ci/bin:/github/workspace/builds/coq/coq-failing/_install_ci/bin:/root/.opamcache/4.14.2+flambda/bin:/github/workspace/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ export COQBIN=/github/workspace/builds/coq/coq-failing/_install_ci/bin/
+++ COQBIN=/github/workspace/builds/coq/coq-failing/_install_ci/bin/
++ CI_BUILD_DIR=/github/workspace/builds/coq/coq-failing/_build_ci
++ declare -A overlays
++ set +x
+ git_download rewriter
+ local project=rewriter
+ local dest=/github/workspace/builds/coq/coq-failing/_build_ci/rewriter
+ local giturl_var=rewriter_CI_GITURL
+ local giturl=https://github.com/mit-plv/rewriter
+ local ref_var=rewriter_CI_REF
+ local ref=master
+ local parent_project_var=rewriter_CI_PARENT_PROJECT
+ local parent_project=
+ local submodule_folder_var=rewriter_CI_SUBMODULE_FOLDER
+ local submodule_folder=
+ local ov_url=
+ local ov_ref=
++ dirname /github/workspace/builds/coq/coq-failing/_build_ci/rewriter
+ local dest_prefix=/github/workspace/builds/coq/coq-failing/_build_ci/
+ '[' '' = '' ']'
+ local parent_project_dest=/github/workspace/builds/coq/coq-failing/_build_ci/
+ local parent_project_relative_dest=
+ '[' -d /github/workspace/builds/coq/coq-failing/_build_ci/rewriter ']'
+ echo 'Warning: download and unpacking of rewriter skipped because /github/workspace/builds/coq/coq-failing/_build_ci/rewriter already exists.'
Warning: download and unpacking of rewriter skipped because /github/workspace/builds/coq/coq-failing/_build_ci/rewriter already exists.
+ '[' '' ']'
+ cd /github/workspace/builds/coq/coq-failing/_build_ci/rewriter
+ make
+ '[' -z x ']'
+ command make
echo $COQ_VERSION_INFO (9.3+alpha) > .coq-version-short
echo $COQ_VERSION_INFO (9.3+alpha, Rocq Prover,) > .coq-version-short-date
echo $COQ_VERSION_INFO (9.3+alpha, version 9.3+alpha compiled) > .coq-version-compilation-date
echo $COQ_VERSION_INFO (9.3+alpha, 4.14.2) > .coq-version-ocaml-version
echo $COQ_VERSION_INFO (9.3+alpha, <config>) > .coq-version-config
echo $COQ_VERSION_INFO (9.3+alpha, <ocaml config>) > .coq-version-ocaml-config
etc/machine.sh > .machine
etc/machine-extended.sh > .machine-extended
etc/machine-extended.sh: 16: lsb_release: not found
ROCQ compile src/Rewriter/Demo.v
MINIMIZER_DEBUG_EXTRA: coqc: /github/workspace/builds/coq/coq-failing/_install_ci/bin///////rocq
MINIMIZER_DEBUG_EXTRA: original invocation: '' 
MINIMIZER_DEBUG_EXTRA: new invocation: /github/workspace/builds/coq/coq-failing/_install_ci/bin/rocq.orig compile -q -w +implicit-core-hint-db\,+implicits-in-term\,+non-reversible-notation\,+deprecated-intros-until-0\,+deprecated-focus\,+unused-intro-pattern\,+deprecated-hint-constr\,+fragile-hint-constr\,+variable-collision\,+unexpected-implicit-declaration\,+omega-is-deprecated\,+deprecated-instantiate-syntax\,+non-recursive\,+deprecated-hint-rewrite-without-locality\,+deprecated-hint-without-locality\,+deprecated-instance-without-locality\,+undeclared-scope\,+deprecated-typeclasses-transparency-without-locality\,+future-coercion-class-field\,unsupported-attributes -w -notation-overridden\,-unusable-identifier -w -notation-overridden -w -deprecated-native-compiler-option -native-compiler ondemand -I /github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter/Util/plugins -R /github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter Rewriter src/Rewriter/Demo.v 
MINIMIZER_DEBUG_EXTRA: coqpath: 
MINIMIZER_DEBUG_EXTRA: ocamlpath: /github/workspace/builds/coq/coq-failing/_install_ci/lib:
MINIMIZER_DEBUG_EXTRA: pwd: PWD=/github/workspace/builds/coq/coq-failing/_build_ci/rewriter
MINIMIZER_DEBUG_EXTRA: exec: /github/workspace/builds/coq/coq-failing/_install_ci/bin/rocq.orig compile -q -w +implicit-core-hint-db\,+implicits-in-term\,+non-reversible-notation\,+deprecated-intros-until-0\,+deprecated-focus\,+unused-intro-pattern\,+deprecated-hint-constr\,+fragile-hint-constr\,+variable-collision\,+unexpected-implicit-declaration\,+omega-is-deprecated\,+deprecated-instantiate-syntax\,+non-recursive\,+deprecated-hint-rewrite-without-locality\,+deprecated-hint-without-locality\,+deprecated-instance-without-locality\,+undeclared-scope\,+deprecated-typeclasses-transparency-without-locality\,+future-coercion-class-field\,unsupported-attributes -w -notation-overridden\,-unusable-identifier -w -notation-overridden -w -deprecated-native-compiler-option -native-compiler ondemand -I /github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter/Util/plugins -R /github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter Rewriter src/Rewriter/Demo.v 
MINIMIZER_DEBUG_EXTRA: coqlib: Warning: Deprecated environment variable COQLIB, use ROCQLIB instead.
/github/workspace/builds/coq/coq-failing/_install_ci/lib/coq//
MINIMIZER_DEBUG: info: /tmp/tmp-coqbot-minimizer.1si8fLah6e
MINIMIZER_DEBUG: files:  src/Rewriter/Demo.v /github/workspace/builds/coq/coq-failing/_build_ci/rewriter/src/Rewriter/Demo.vWarning, feedback message received but no listener to handle it!
Warning: Deprecated environment variable COQLIB, use ROCQLIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]Warning, feedback message received but no listener to handle it!
Warning: Deprecated environment variable COQLIB, use ROCQLIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]
File "./src/Rewriter/Demo.v", line 12, characters 5-8:
Warning: "From Coq" has been replaced by "From Stdlib".
[deprecated-from-Coq,deprecated-since-9.0,deprecated,default]
OrdersEx.Nat_as_OT.add_0_r: forall n : nat, n + 0 = n
OrdersEx.Nat_as_DT.add_0_r: forall n : nat, n + 0 = n
Nat.add_0_r: forall n : nat, n + 0 = n
File "./src/Rewriter/Demo.v", line 23, characters 0-56:
Error: Anomaly "Universe Rewriter.Demo.97 undefined."
Please report at http://rocq-prover.org/bugs/.

Command exited with non-zero status 129
src/Rewriter/Demo.vo (real: 1.80, user: 1.68, sys: 0.11, mem: 561068 ko)
make[1]: *** [Makefile.coq:815: src/Rewriter/Demo.vo] Error 129
make[1]: *** [src/Rewriter/Demo.vo] Deleting file 'src/Rewriter/Demo.glob'
make: *** [Makefile.coq:411: all] Error 2
+ code=2
+ printf '\n%s exit code: %s\n' rewriter 2
+ '[' rewriter '!=' stdlib_test ']'
+ echo 'Aggregating timing log...'
Aggregating timing log...
+ echo

+ tools/make-one-time-file.py --real _build_ci/rewriter.log
    Time |  Peak Mem | File Name            
--------------------------------------------
0m01.80s | 561068 ko | Total Time / Peak Mem
--------------------------------------------
0m01.80s | 561068 ko | Rewriter/Demo.vo     
+ '[' '' ']'
+ exit 2
/github/workspace/builds/coq /github/workspace
::endgroup::
📜 🔎 Minimization Log (truncated to last 8.0KiB; full 6.8MiB file on GitHub Actions Artifacts under bug.log)
t to replace Qed Obligation with Admit Obligations
�[92m
Admitting Qed Obligations successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting Qed Obligations unsuccessful.
No successful changes.

I will now attempt to replace Qeds with Admitteds
�[92m
Admitting Qeds successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting Qeds unsuccessful.
No successful changes.

I will now attempt to replace Qeds with admit. Defined.
�[92m
Admitting Qeds successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting Qeds unsuccessful.
No successful changes.

I will now attempt to replace Qeds with Admitteds with Proof using
�[92m
Admitting Qeds successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting Qeds unsuccessful.
No successful changes.

I will now attempt to replace Qeds with admit. Defined. with Proof using
�[92m
Admitting Qeds successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting Qeds unsuccessful.
No successful changes.

I will now attempt to remove goals ending in [Abort.]
�[92m
Aborted removal successful.�[0m

I will now attempt to remove unused Ltacs
�[92m
Ltac removal successful.�[0m

I will now attempt to remove unused definitions

Non-fatal error: Failed to remove definitions and preserve the error.  
The new error was:
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]

�[93mIntermediate code not saved.�[0m

I will now attempt to remove unused non-instance, non-canonical structure definitions

Non-fatal error: Failed to remove non-instance definitions and preserve the error.  
The new error was:
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]

�[93mIntermediate code not saved.�[0m

I will now attempt to remove unused variables
�[92m
Variable removal successful.�[0m

I will now attempt to remove unused contexts
�[92m
Context removal successful.�[0m

I will now attempt to admit [abstract ...]s
�[92m
Admitting [abstract ...] successful.�[0m
�[92m
Admitting [abstract ...] successful.�[0m
Admitting [abstract ...] unsuccessful.
Admitting [abstract ...] unsuccessful.

I will now attempt to remove goals ending in [Abort.]
�[92m
Aborted removal successful.�[0m

I will now attempt to remove unused Ltacs
�[92m
Ltac removal successful.�[0m

I will now attempt to remove unused definitions

Non-fatal error: Failed to remove definitions and preserve the error.  
The new error was:
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]

�[93mIntermediate code not saved.�[0m

I will now attempt to remove unused non-instance, non-canonical structure definitions

Non-fatal error: Failed to remove non-instance definitions and preserve the error.  
The new error was:
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]

�[93mIntermediate code not saved.�[0m

I will now attempt to remove unused variables
�[92m
Variable removal successful.�[0m

I will now attempt to remove unused contexts
�[92m
Context removal successful.�[0m

I will now attempt to replace Obligation with Admit Obligations
�[92m
Admitting Obligations successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting Obligations unsuccessful.
No successful changes.

I will now attempt to admit lemmas with Admitted
�[92m
Admitting lemmas successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting lemmas unsuccessful.
No successful changes.

I will now attempt to admit definitions with Admitted
�[92m
Admitting definitions successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting definitions unsuccessful.
No successful changes.

I will now attempt to admit lemmas with admit. Defined
�[92m
Admitting lemmas successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting lemmas unsuccessful.
No successful changes.

I will now attempt to admit definitions with admit. Defined
�[92m
Admitting definitions successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting definitions unsuccessful.
No successful changes.

I will now attempt to admit lemmas with Admitted with Proof using
�[92m
Admitting lemmas successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting lemmas unsuccessful.
No successful changes.

I will now attempt to admit definitions with Admitted with Proof using
�[92m
Admitting definitions successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting definitions unsuccessful.
No successful changes.

I will now attempt to admit lemmas with admit. Defined with Proof using
�[92m
Admitting lemmas successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting lemmas unsuccessful.
No successful changes.

I will now attempt to admit definitions with admit. Defined with Proof using
�[92m
Admitting definitions successful.�[0m
Failed to do everything at once; trying one at a time.
Admitting definitions unsuccessful.
No successful changes.

I will now attempt to add Proof using lines
�[92m
Adding Proof using lines successful.�[0m
Failed to do everything at once; trying one at a time.
Adding Proof using lines unsuccessful.
No successful changes.

I will now attempt to export modules
Module exportation unsuccessful.

I will now attempt to split imports and exports
Import/Export splitting unsuccessful.

I will now attempt to split := definitions
One-line definition splitting unsuccessful.

I will now attempt to lift Requires to the top of the file while inserting option settings

I will now attempt to lift Requires to the top of the file while inserting option settings

I will now attempt to remove all lines, one at a time
Line removal unsuccessful.

I will now attempt to remove goals ending in [Abort.]
�[92m
Aborted removal successful.�[0m

I will now attempt to remove unused Ltacs
�[92m
Ltac removal successful.�[0m

I will now attempt to remove unused definitions

Non-fatal error: Failed to remove definitions and preserve the error.  
The new error was:
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]

�[93mIntermediate code not saved.�[0m

I will now attempt to remove unused non-instance, non-canonical structure definitions

Non-fatal error: Failed to remove non-instance definitions and preserve the error.  
The new error was:
Deprecated environment variable COQCORELIB, use ROCQRUNTIMELIB instead.
Warning: Deprecated environment variable COQCORELIB,
use ROCQRUNTIMELIB instead.
[deprecated-coq-env-var,deprecated-since-9.0,deprecated,default]

�[93mIntermediate code not saved.�[0m

I will now attempt to remove unused variables
�[92m
Variable removal successful.�[0m

I will now attempt to remove unused contexts
�[92m
Context removal successful.�[0m

I will now attempt to remove modules
�[92m
Module removal successful.�[0m
Failed to do everything at once; trying one at a time.
Module removal unsuccessful.
No successful changes.

I will now attempt to remove sections
�[92m
Section removal successful.�[0m
Failed to do everything at once; trying one at a time.
Section removal unsuccessful.
No successful changes.

I will now attempt to remove empty sections

No empty sections to remove.

I will now attempt to remove the admit tactic header

No admit tactic header to remove

Now, I will attempt to strip repeated newlines and trailing spaces from this file...

No strippable newlines or spaces.

Completed second minimization pass.

If you have any comments on your experience of the minimizer, please share them in a reply (possibly tagging @JasonGross).
If you believe there's a bug in the bug minimizer, please report it on the bug minimizer issue tracker.

cc @JasonGross

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind: fix This fixes a bug or incorrect documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(transparent_)abstract in tactics in terms should not inline

2 participants