This page documents Regula 0.6.0. The latest release is Regula 0.11.1: this page in Regula 0.11.1.
Credits and licenses
Regula and this site's generated content are released under the MIT license. The rule explanations are original.
Lean and Lake. The linter, its editor messages and its Lake integration are built on Lean 4 and Lake by the Lean FRO and contributors (Apache 2.0), used through the pinned toolchain as dependencies. The editor's View explanation link is Lean's own error-description widget, shown in the infoview of the VS Code Lean 4 extension (leanprover/vscode-lean4). The linter's strict JSON parser adapts the container recursion of Lean's Lean/Data/Json/Parser.lean (Copyright (c) 2019 Gabriel Ebner; authors Gabriel Ebner and Marc Huisinga; Apache 2.0) to reject duplicate keys; its notice is kept in the source and the Apache 2.0 license text is in the repository.
Verso. This site is generated with Verso by the Lean FRO and contributors (Apache 2.0), pinned at revision cad4b633e75ea769b851f12f9ca3b4f0dfcc625f (license). Verso's stylesheets and its search and table-of-contents scripts are served with every page; the site adds its own theme layer on top (a stylesheet and a small script for the light, dark and system colour themes). The separation of documentation and example toolchains follows David Thrane Christiansen's package-docs template; no template text is copied. Verso bundles the third-party JavaScript components listed below with their licenses. Pages also load the marked Markdown library (MIT) from the jsDelivr CDN, as Verso configures by default.
con-leche. The closed typed rule registry, its canonical metadata, the complete, request-indexed acceptance design and the proved equality of executed decisions with their reference definitions follow ideas from con-leche by Joachim Breitner and contributors (Lean FRO), in particular Kernel/PropWhen.lean, Cached/Installed.lean and Frontend/Scan/Equiv.lean. No con-leche code or proof is copied, and con-leche's theorems are not claimed for Regula. con-leche did not design this site.
Rule-page structure. The page layout of cause, rationale, fix, configuration, examples and limitations follows Microsoft's CA1416 code-analysis rule page as one illustrative reference; no .NET content is used, and no affiliation with or endorsement by Microsoft is implied. Other linters (Clippy, Roslyn, ESLint, Ruff, Pyrefly, HLint) informed the design.
Mathlib. The regula package that projects require imports only Lean's core libraries and requires no other package. The checker repository's Mathlib-dependent package (the standard's Mathlib examples) and this site depend on Mathlib (Apache 2.0) and so on Batteries (Apache 2.0), which Mathlib requires.
Crediting a project does not imply its endorsement of Regula. The complete attribution account is in the design-influences guide.
Editable Combobox With Both List and Inline Autocomplete Example, from the W3C's ARIA Authoring Practices Guide (APG)
https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-both/The search box component includes code derived from the example code in the linked article from the W3C's ARIA Authoring Practices Guide (APG).
W3C-20150513Software and Document License - 2023 Version
Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C software and document short notice should be included.
* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from "Editable Combobox With Both List and Inline Autocomplete Example" at https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-both/. Copyright © 2024 World Wide Web Consortium. https://www.w3.org/copyright/software-license-2023/"
elasticlunr.js
http://elasticlunr.com/Elasticlunr.js is used for full-text search
MITThe MIT License
Copyright (C) 2017 by Wei Song
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
fuzzysort v3.1.0
https://github.com/farzher/fuzzysortThe fuzzysort library is used in the search box to quickly filter results.
MITThe MIT License
Copyright (c) 2018 Stephen Kamenar
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Popper.js
https://popper.js.org/docs/v2/Popper.js is used (as a dependency of Tippy.js) to show information (primarily in Lean code) when hovering the mouse over an item of interest.
MITThe MIT License
Copyright (c) 2019 Federico Zivolo
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Tippy.js
https://atomiks.github.io/tippyjs/Tippy.js is used together with Popper.js to show information (primarily in Lean code) when hovering the mouse over an item of interest.
MITThe MIT License
Copyright (c) 2017-present atomiks
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.