Simplifying Casts and Coercions
Robert Y. Lewis, Paul-Nicolas Madelaine

TL;DR
This paper presents norm_cast, a set of tactics for the Lean proof assistant that simplifies reasoning about coercions and casts, reducing boilerplate and improving proof automation.
Contribution
It introduces norm_cast tactics that effectively manipulate coercions and casts in Lean, enhancing proof development and library maintenance.
Findings
norm_cast reduces boilerplate in Lean proofs
It improves unification and rewriting involving coercions
The tactics are widely used in Lean mathematical libraries
Abstract
This paper introduces norm_cast, a toolbox of tactics for the Lean proof assistant designed to manipulate expressions containing coercions and casts. These expressions can be frustrating for beginning and expert users alike; the presence of coercions can cause seemingly identical expressions to fail to unify and rewrites to fail. The norm_cast tactics aim to make reasoning with such expressions as transparent as possible. They are used extensively to eliminate boilerplate arguments in the Lean mathematical library and in external developments.
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
TopicsLogic, programming, and type systems · Software Engineering Research · Logic, Reasoning, and Knowledge
