Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
315bc0d
Update Batteries branch for testing https://github.com/leanprover-com…
mathlib-nightly-testing[bot] Jun 1, 2026
3d77d52
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 1, 2026
a31d8c3
fix
fgdorais Jun 22, 2026
17fcc26
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 22, 2026
066c063
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 22, 2026
2d9078e
fix imports
fgdorais Jun 22, 2026
31ed0e0
fix
fgdorais Jun 22, 2026
cf28141
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 22, 2026
aa184a5
fix imports
fgdorais Jun 22, 2026
00b791c
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 23, 2026
a5f51f6
fix
fgdorais Jun 23, 2026
9cb64b4
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 23, 2026
28a05e5
fix
fgdorais Jun 23, 2026
9677580
fix: directory dependency
fgdorais Jun 23, 2026
e2928cb
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 24, 2026
de9aa46
fix
fgdorais Jun 24, 2026
17bbd00
fix
fgdorais Jun 24, 2026
74d2393
Trigger CI for https://github.com/leanprover-community/batteries/pull…
mathlib-nightly-testing[bot] Jun 24, 2026
b36f42a
fix
fgdorais Jun 24, 2026
933cc59
fix
fgdorais Jun 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Mathlib/Algebra/Opposites.lean
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module

public import Mathlib.Algebra.Group.Defs
public import Mathlib.Logic.Equiv.Defs
public import Batteries.Tactic.Lint.Simp
public import Batteries.Linter.Simp

/-!
# Multiplicative opposite and algebraic operations on it
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Algebra/Ring/Ext.lean
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ namespace Semiring
inst₁ = inst₂ := by
-- Show that enough substructures are equal.
have h₀ : inst₁.toAddCommMonoid = inst₂.toAddCommMonoid := by
ext : 1 <;> assumption
ext : 1; assumption
have h₁ : inst₁.toNonUnitalSemiring = inst₂.toNonUnitalSemiring := by
ext : 1 <;> assumption
have h₂ : inst₁.toNonAssocSemiring = inst₂.toNonAssocSemiring := by
Expand All @@ -290,7 +290,7 @@ namespace Semiring
ext : 1; exact h_mul
-- Split into fields and prove they are equal using the above.
cases inst₁; cases inst₂
congr <;> solve | injection h₁ | injection h₂
congr; solve | injection h₁ | injection h₂

theorem toNonUnitalSemiring_injective :
Function.Injective (@toNonUnitalSemiring R) := by
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Authors: Kim Morrison, Johannes Hölzl, Reid Barton, Sean Leather
module

public import Mathlib.Init
public import Batteries.Tactic.Lint.Misc
public import Batteries.Linter.Misc

/-!
# Bundled types
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Data/List/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public import Mathlib.Logic.OpClass
public import Mathlib.Logic.Unique
public import Mathlib.Tactic.Common
public import Batteries.Data.List.Lemmas
public import Batteries.Tactic.Lint.Simp
public import Batteries.Linter.Simp
public import Batteries.Tactic.SeqFocus
public import Mathlib.Data.Subtype
public import Mathlib.Tactic.Attr.Core
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Data/List/Defs.lean
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public import Mathlib.Data.Nat.Notation
public import Mathlib.Control.Functor
public import Mathlib.Data.SProd
public import Mathlib.Util.CompileInductive
public import Batteries.Tactic.Lint.Basic
public import Batteries.Linter.Basic
public import Batteries.Data.List.Basic
public import Batteries.Logic

Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Data/Option/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public import Mathlib.Logic.IsEmpty.Basic
public import Mathlib.Logic.Relator
public import Mathlib.Util.CompileInductive
public import Aesop
public import Batteries.Tactic.Lint.Simp
public import Batteries.Linter.Simp

/-!
# Option of a type
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Data/Seq/Computation.lean
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public import Mathlib.Data.Nat.Find
public import Mathlib.Data.Stream.Init
public import Mathlib.Logic.Relator
public import Mathlib.Tactic.Common
public import Batteries.Tactic.Lint.Simp
public import Batteries.Linter.Simp

/-!
# Coinductive formalization of unbounded computations.
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Init.lean
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public import Batteries.Util.ProofWanted
-- This import makes the `#redundant_imports`/`#min_imports`/`#find_home`/`#import_diff` commands
-- available globally.
public import ImportGraph.Tools
-- The following module imports `Batteries.Tactic.Lint`, where `#lint` is defined.
-- The following module imports `Batteries.Linter`, where `#lint` is defined.
public import Mathlib.Tactic.Linter.Lint
-- This import makes the `#min_imports in` command available globally.
public import Mathlib.Tactic.MinImports
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Lean/Elab/InfoTree.lean
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ module
public import Mathlib.Lean.Environment
public import Lean.Server.InfoUtils
public import Lean.Meta.TryThis
public import Batteries.Tactic.Lint.Misc
public import Batteries.Linter.Misc
-- Import this linter explicitly to ensure that
-- this file has a valid copyright header and module docstring.
import Mathlib.Tactic.Linter.Header -- shake: keep
public import Batteries.Tactic.Lint.Basic
public import Batteries.Linter.Basic
import Lean.Elab.Term.TermElabM

/-!
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/SetTheory/Lists.lean
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public import Mathlib.Algebra.Order.Group.Nat
public import Mathlib.Algebra.Order.Monoid.NatCast
public import Mathlib.Algebra.Ring.Nat
public import Mathlib.Data.Sigma.Basic
public import Batteries.Tactic.Lint.TypeClass
public import Batteries.Linter.TypeClass

/-!
# A computable model of ZFA without infinity
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Tactic/CategoryTheory/Elementwise.lean
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def elementwiseExpr (src : Name) (pf : Expr) (simpSides := true) :
-- check that it's not a simp-trivial equality:
forallTelescope ty' fun _ ty' => do
if let some (_, lhs, rhs) := ty'.eq? then
if ← Batteries.Tactic.Lint.isSimpEq lhs rhs then
if ← Batteries.Linter.isSimpEq lhs rhs then
throwError "applying simp to both sides reduces elementwise lemma for {src} \
to the trivial equality {ty'}. \
Either add `nosimp` or remove the `elementwise` attribute."
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Tactic/Linarith/Lemmas.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Authors: Robert Y. Lewis
-/
module

public meta import Batteries.Tactic.Lint.Basic
public meta import Batteries.Linter.Basic
public meta import Mathlib.Data.Ineq
public import Mathlib.Data.Ineq
public import Mathlib.Data.Nat.Cast.Order.Ring
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Tactic/Linter/DirectoryDependency.lean
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ def allowedImportDirs : NamePrefixRel := .ofArray #[
-- TODO: reduce this dependency by upstreaming `Data.String.Defs to batteries
(`Mathlib.Util.FormatTable, `Mathlib.Data.String.Defs),

(`Mathlib.Lean, `Batteries.Tactic.Lint),
(`Mathlib.Lean, `Batteries.Linter),
(`Mathlib.Lean, `Batteries.CodeAction),
-- TODO: should this be minimised further?
(`Mathlib.Lean.Meta.CongrTheorems, `Batteries),
Expand Down
10 changes: 5 additions & 5 deletions Mathlib/Tactic/Linter/Lint.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ Authors: Floris van Doorn
-/
module

-- This module imports all of `Batteries.Tactic.Lint`, not just `Batteries.Tactic.Lint.Basic`.
-- This module imports all of `Batteries.Linter`, not just `Batteries.Linter.Basic`.
-- It is responsible for making `#lint` available through `Mathlib.Init`.
-- TODO: consider removing `-- shake: keep` after batteries#1613
public import Batteries.Tactic.Lint -- shake: keep
public import Batteries.Linter -- shake: keep
public import Lean.Linter.Deprecated
public import Mathlib.Tactic.DeclarationNames
public import Batteries.Tactic.Lint.Basic
public import Batteries.Linter.Basic

/-!
# Linters for Mathlib
Expand All @@ -24,7 +24,7 @@ Perhaps these should be moved to Batteries in the future.

meta section

namespace Batteries.Tactic.Lint
namespace Batteries.Linter
open Lean Meta

/--
Expand Down Expand Up @@ -56,7 +56,7 @@ Linter that checks whether a structure should be in Prop.
| some _ => return none -- TODO: enforce `YYYY-MM-DD` format
| none => return m!"`deprecated` attribute without `since` date"

end Batteries.Tactic.Lint
end Batteries.Linter

namespace Mathlib.Linter

Expand Down
6 changes: 3 additions & 3 deletions Mathlib/Tactic/Linter/Style.lean
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public meta import Lean.Server.InfoUtils
public meta import Mathlib.Tactic.Linter.Header -- shake: keep
public import Lean.Parser.Command
public import Mathlib.Tactic.DeclarationNames
public import Batteries.Tactic.Lint.Basic
public import Batteries.Linter.Basic

/-!
## Style linters
Expand Down Expand Up @@ -551,10 +551,10 @@ public def isBadNameWithUnderscore (name : Name) : Bool := Id.run do
if declName.toString.contains "_" then return true
else return false

open Batteries.Tactic.Lint in
open Batteries.Linter in
/-- Linter that checks for definitions whose name contains an underscore:
such names violate the naming convention. -/
@[env_linter] public def defsWithUnderscore : Batteries.Tactic.Lint.Linter where
@[env_linter] public def defsWithUnderscore : Batteries.Linter where
noErrorsFound := "no definitions with an underscore in their name found."
errorsFound := "FOUND definitions with an underscore in their name."
test declName := do
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Tactic/Linter/TacticDocumentation.lean
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public meta import Lean.Parser.Tactic.Doc
-- Import this linter explicitly to ensure that
-- this file has a valid copyright header and module docstring.
public import Mathlib.Tactic.Linter.Header -- shake: keep
public import Batteries.Tactic.Lint.Basic
public import Batteries.Linter.Basic
public import Lean.Elab.Tactic.Doc

/-! # The `tacticDocs` linter
Expand All @@ -28,7 +28,7 @@ meta def isNonemptyDoc (doc : TacticDoc) : Bool :=
doc.docString.isSome || doc.extensionDocs.any (! ·.isEmpty)

/-- Check that all tactics available in Mathlib have a docstring. -/
@[env_linter] public meta def tacticDocs : Batteries.Tactic.Lint.Linter where
@[env_linter] public meta def tacticDocs : Batteries.Linter where
noErrorsFound := "No tactics are missing documentation."
errorsFound := "TACTICS ARE MISSING DOCUMENTATION STRINGS:"
test tac := do
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Tactic/Linter/UnusedInstancesInType.lean
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ public meta import Lean.Linter.Basic
-- Import this linter explicitly to ensure that
-- this file has a valid copyright header and module docstring.
public import Mathlib.Tactic.Linter.Header -- shake: keep
public import Batteries.Tactic.Lint.Basic
public import Batteries.Tactic.Lint.Misc
public import Batteries.Linter.Basic
public import Batteries.Linter.Misc

/-!
# Linters for Unused Instances in Types
Expand Down
4 changes: 3 additions & 1 deletion MathlibTest/BasicFiles/Init.lean
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
module

import Mathlib.Init
import Batteries.Linter.Frontend

/-! Checks that some utilities are available already when importing `Mathlib.Init`. -/

Expand Down Expand Up @@ -33,7 +34,8 @@ import Mathlib.Init
proof_wanted please_prove_this : True

-- Guard against the shake tool modifying our imports
/-- info: [public import Init, public meta import Init, import Mathlib.Init] -/
/-- info: [public import Init, public meta import Init, import Mathlib.Init,
import Batteries.Linter.Frontend] -/
#guard_msgs in
run_elab Lean.logInfo m!"{(← Lean.MonadEnv.getEnv).imports}"

Expand Down
4 changes: 2 additions & 2 deletions lake-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@
"type": "git",
"subDir": null,
"scope": "leanprover-community",
"rev": "7d1b02eb63b526dff04cb990cf05b06b38ccbd3f",
"rev": "c35ff55997866abfddeb272c3a293f941fb37f65",
"name": "batteries",
"manifestFile": "lake-manifest.json",
"inputRev": "main",
"inputRev": "move-class-linter",
"inherited": false,
"configFile": "lakefile.toml"},
{"url": "https://github.com/leanprover/lean4-cli",
Expand Down
8 changes: 4 additions & 4 deletions lakefile.lean
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ open Lake DSL
## Mathlib dependencies on upstream projects
-/

require "leanprover-community" / "batteries" @ git "main"
require "leanprover-community" / "Qq" @ git "master"
require "leanprover-community" / "aesop" @ git "master"
require "leanprover-community" / "proofwidgets" @ git "main"
require "leanprover-community" / "batteries" from git "https://github.com/leanprover-community/batteries" @ "move-class-linter"
require "leanprover-community" / "Qq" @ git "v4.31.0-rc1"
require "leanprover-community" / "aesop" @ git "v4.31.0-rc1"
require "leanprover-community" / "proofwidgets" @ git "v0.0.100"
with NameMap.empty.insert `errorOnBuild
"ProofWidgets failed to reuse pre-built JS code. \
Please report this issue on the Lean Zulip."
Expand Down
4 changes: 2 additions & 2 deletions scripts/noshake.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"Batteries.Tactic.GuardMsgs",
"Batteries.Tactic.HaveI",
"Batteries.Tactic.LeftRight",
"Batteries.Tactic.Lint",
"Batteries.Tactic.Lint.Misc",
"Batteries.Linter",
"Batteries.Linter.Misc",
"Batteries.Tactic.NoMatch",
"Batteries.Tactic.NormCast",
"Batteries.Tactic.NormCast.Lemmas",
Expand Down
Loading