Compositional pre-processing for automated reasoning in dependent type theory
summary
Implements compositional, small-step goal transforms for Coq that systematically convert inductives, uninterpreted symbols and higher-order/dependent constructs into fragments consumable by external solvers. The toolchain includes an orchestration called snipe orchestration, a theory-mapping plugin tract plugin and targeted preprocessors like zedify preprocessing and mc35; it produces G' plus a proof that G' implies G and successfully discharges non-inductive subgoals (examples: lambda‑calculus shift lemmas). Prototype works end‑to‑end but currently re‑saturates contexts (no caching yet).
AI-written summary · about
chapters (9)
- 0:00Automated reasoning intro
- 3:38Preprocessing challenges
- 5:10Example goals and Snipe tactic
- 6:36Inductive type preprocessing
- 8:52Symbol preprocessing with Tract
- 13:47First-order transformations
- 14:27Preprocessing tactic orchestration
- 16:55Future work on compositionality
- 18:24Q&A on incremental preprocessing
related talks
31mPyrosome: A Framework for Modular, Extensible, Equivalence-Preserving Compilati...
59mCoq to C Translation with Partial Evaluation + Counterexample Generation
46mMechanizing Abstract Interpretation
19mExtensible Metatheory Mechanization via Family Polymorphism
17mDenotation-based Compositional Compiler Verification
22mAutomated Proof Generation for Associative and Distributive Rewriting with E-Graphs
15mSulfur: Substitution Generation using a Logical Framework
19mInterpreting OCaml GADTs into Coq
