Mathlib API

Evidence-driven workflow for designing a Mathlib definition and the API around it. Use when adding a new structure/def intended for mathlib; when choosing between design alternatives (index type as field vs parameter, Set vs indexed family, coarse set vs finer indexed structure and when the fine one should exist at all, data vs Prop, instance vs hypothesis, existential shape, `Nat.find` vs `sInf`-style encodings and where their classical plumbing lives, junk values of totalized quantities, sealed vs exposed bodies under the module system — `@[expose]`/`@[no_expose]` — and which object should carry an instance); when deciding which statements an API should ship and in what form (which Prop is the field, iff vs directional corollaries, simp orientation, smart constructors, bridges to existing idioms, bloat audits); when justifying a design in PR review; or when asked to "check the precedents" for a definition or an API, or to build a contrasting-cases example sheet. Clarifying and follow-up questions about a de

homeowmorphism 7968f47 6 files · 34.8 KB Updated

File contents

homeowmorphism/mathlib-api/tree/main/ commit 7968f477fc

Frequently asked questions

npx skillmds@latest add homeowmorphism/mathlib-api